欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 美景 > 常用集合的简单总结

常用集合的简单总结

2025/2/6 12:55:45 来源:https://blog.csdn.net/2302_80073130/article/details/145459616  浏览:    关键词:常用集合的简单总结

单列集合

List:

List系列集合:添加的元素是有序、可重复、有索引

有序:是指存和取的顺序是一样的,不是大小有序。

遍历方式:

迭代器遍历:

增强for遍历:

lambda遍历:

普通for遍历:

Set:

  • HashSet 无序、不重复、无索引
  • LinkedHashSet:有序、不重复、无索引
  • TreeSet:可排序、不重复、无索引
  • 这里的有序指的是保证存储和取出的元素顺序一致

Hashset:

需要在对象中重写hashCode方法alt+inset idea会自动生成

LinkedHashSet:

在以后如果要数据去重,我们使用哪个?

默认使用HashSet

如果要求去重且存取有序,才使用L LinkedHashSet :因为效率比较低

TreeSet

  • 不需要重写hashcode和equals方法因为TreeSet的底层是红黑树,但是要指定排序规则
  • 可排序:按照元素的默认规则(有小到大)排序。
  • TreeSet集合底层是基于红黑树的数据结构实现排序的,增删改查性能都较好。

比较字符串默认是按首字母大小来排序的,如果我们想先按长度进行排序如果长度一样再按首字母排序。就会用到第二中排序方式。

比较器排序:创建TreeSet对象时候,传递比较器Comparator指定规则

使用原则:默认使用第一种,如果第一种不能满足当前需求,就使用第二种

遍历方式:

迭代器遍历:

lambda遍历:

增强for遍历:

双列集合

双列集合的特点:

双列集合一次需要存一对数据,分别为键和值

键不能重复,值可以重复

键和值是一一对应的,每一个键只能找到自己对应的值

键+值这个整体我们称之为“键值对”或者“键值对对象”,在Java中叫做"Entry对象"

双列集合的遍历方式:

键值对

键找值:

Lambda表达式:

Set<Map.Entry<String, String>> entries = map.entrySet();//匿名内部类map.forEach(new BiConsumer<String, String>() {@Overridepublic void accept(String key, String value) {System.out.println(key+"="+value);}});

HashMap

  • 特点都是由键决定的:无序、不重复、无索引
  • HashMap跟HashSet底层原理是一模一样的,都是哈希表结构

LinkedHashMap

由键决定:有序、不重复、无索引。

底层数据结构是依然哈希表,只是每个键值对元素又额外的多了一个双链表的机制记录存储的顺序。

TreeMap

TreeMap跟TreeSet底层原理一样,都是红黑树结构的。

由键决定特性:不重复、无索引、可排序

可排序:对键进行排序。

注意:默认按照键的从小到大进行排序,也可以自己规定键的排序规则

代码书写两种排序规则:

实现Comparable接口,指定比较规则。

创建集合时传递Comparator比较器对象,指定比较规则。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com