标签:Set java stream 重复 元素 --- Person 集合
集合是什么:表示一组元素的对象,有的是有序的,有的是无序的,有的是可重复的,有的是不可重复的。
首先根是:Collection
1:Set 没有重复元素 SortedSet 有序的Set
2:List 序列 有序集合,每个元素有精确的位置,通过索引可以访问。
3:Queue 队列也不绝对完全是FIFO 因为有优先队列
4:Deque 双端队列
5:Map 键值对 简称映射 没有重复的键 但可有重复的值 SortedMap 有序的Map
其次是使用
集合包括很多方法,基本写业务的时候都会用到。这里重点说说遍历。之前写程序里用得最多的就是for-each了,Iterator迭代器用得少,偶尔用于特殊的算法。
在JDK8中,集合公开了两个流方法 stream(),parallelStream() 从底层获取流 顺序流 并行流。看一眼代码就明白什么意思了。
.stream() .filter(e -> e.getGender() == Person.Sex.MALE) .forEach(e -> System.out.println(e.getName()));
for (Person p : roster) { if (p.getGender() == Person.Sex.MALE) { System.out.println(p.getName()); } }
补充:
c.removeAll(Collections.singleton(e));使用这个去null很方便
最后来看一下java给我们的可使用的集合
1:Set:
TreeSet :元素存于红黑树中,根据值排序,较慢
HashSet:元素存储在哈希表中,是性能最好的实现,不保证顺序
LinkedHashSet:带有链表的哈希表,按插入顺序排序
简单应用:
c.stream() .collect(Collectors.toSet()); // 没有重复
未完待续。。。。
参考:https://docs.oracle.com/javase/tutorial/collections/interfaces/index.html
标签:Set,java,stream,重复,元素,---,Person,集合 来源: https://www.cnblogs.com/angin-iit/p/16427565.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。