1:Set接口
01) Set 接口中的元素无序不可重复:不包含重复元素,最多包含一个 null,元素没有顺序 。
2:HashSet
01) HashSet 是 Set 接口的一个子类,主要的特点是:里面不能存放重复元素,而且采用散 列的存储方法,所以没有顺序。这里所说的没有顺序是指:元素插入的顺序与输出的顺序不 一致。 使用重写 equals 和 hashcode 来实现自 定义的类型的去重。
3:Map接口
01) 实现Map接口的类用来存储键(key)-值(value) 对。
02) HashMap: 线程不安全,效率高. 允许key或value为null
03) HashTable:线程安全,效率低. 不允许key或value为null
04) HashMap去重:根据key做去重,根据key计算桶的位置
05)
4:方法
01)containsKey(Object key)
如果此映射包含指定键的映射关系,则返回 true。
02)containsValue(Object value)
如果此映射将一个或多个键映射到指定值,则返回 true。
03)isEmpty()
如果此映射未包含键-值映射关系,则返回 true。
04)remove(Object key)
如果存在一个键的映射关系,则将其从此映射中移除(可选操作)。
05)remove(Object key)
如果存在一个键的映射关系,则将其从此映射中移除(可选操作)。
5: Properties
- Properties为Hashtable的子类,要求键与值只能为字符串 ,不能为null
- 构造方法:Properties(Properties defaults)
创建一个带有指定默认值的空属性列表。 - getProperty(String key, String defaultValue)
用指定的键在属性列表中搜索属性。 - getProperty(String key)
用指定的键在此属性列表中搜索属性。
6: Collections工具类 - 类 java.util.Collections 提供了对容器操作的工具方法,与 Arrays 使用差不多。
- binarySearch(List<? extends Comparable<? super T>> list, T key)
使用二分搜索法搜索指定列表,以获得指定对象 - copy(List<? super T> dest, List<? extends T> src)
将所有元素从一个列表复制到另一个列表。 - disjoint(Collection<?> c1, Collection<?> c2)
如果两个指定 collection 中没有相同的元素,则返回 true。 - max(Collection<? extends T> coll)
根据元素的自然顺序,返回给定 collection 的最大元素。 - min(Collection<? extends T> coll, Comparator<? super T> comp)
据指定比较器产生的顺序,返回给定 collection 的最小元素。 - shuffle(List<?> list)
使用默认随机源对指定列表进行置换。
7: stream - stream 是数据渠道,用于操作数据源(集合、数组)所生产的元素序列。
- Stream的操作三个步骤: 1、创建Stream 一个数据源(如:集合、数组),获取一个流
2、中间操作 一个中间操作链,对数据源的数据进行处理
3、终止操作 一个终止操作,执行中间操作链,并产生结果
03)注意: 1.Stream自己不会创建元素
2.Stream不会改变原对象|数据源,会返回一个持有结果的新的stream
3.惰性加载: stream操作是延迟执行的,会等到需要结果的时候才会执行
4.流是一次性的流,如果已经使用过流后,这个流就已经被消费了,所有不能一个流反使用
8: Stream的中间操作 - 多个中间操作可以连接起来形成一个流水线,除非流水线上触发终止操作,否则中间操作不会执行任何的处理,而在终 止操作时一次性全部处理,称为”惰性求值”
- 筛选和切片:
- filter(Predicate<? super T> predicate)
返回一个流的元素组成的流匹配给定谓词。 - limit(long maxSize)
返回一个流的元素组成的流,截断比 maxSize不再长。 - skip(long n)
返回一个流组成的其余元素的流后丢弃的第一 n元素流。 - distinct()
返回一个流组成的不同的元素(根据 Object.equals(Object))流。 - 排序
- sorted()
返回一个流流的元素组成的,按照自然顺序排序。 - sorted(Comparator<? super T> comparator)
返回一个流的元素组成的流,根据提供的 Comparator排序。