JAVA_集合
发布日期:2021-05-04 13:33:17 浏览次数:11 分类:技术文章

本文共 1520 字,大约阅读时间需要 5 分钟。

集合类的继承关系图:

在这里插入图片描述

Object::所有类的父类。

collection:有特定的方法操作它的子类:List ,Set 这两个集合类

==> List 又分为 ArrayList , LinkedList

ArrayList:

保存方式:
采用数组结构保存对象

优点:

数组结构的优点是便于对集合进行快速的随机访问,如果经常需要根据索引位置访问集合中的对象,使用由ArrayList类实现的List集合的效率较好

缺点:

当删除指定索引位置的对象时,会同时将指定索引位置之后的所有对象相应的向前移动一位。如果在指定的索引位置之后有大量的对象,将严重影响对集合的操作效率。

LinkedList:

保存方式:
采用链表结构保存对象

优点:

如果经常需要向集合中插入对象,或者是从集合中删除对象,使用由LinkedList类实现的List集合的效率较好

缺点:

链表结构的缺点是随机访问对象的速度较慢,如果经常需要随机访问集合中的对象

==> Set 又分为 HashSet, TreeSet

HashSet:

优点:

能够快速定位集合中的元素
集合中的对象必须是唯一的

用法:

1.要重新实现equals()方法,从而保证插入集合中对象的标识的唯一性。
2.还需要重新实现hashCode()方法,从而保证插入集合中的对象能够合理地分布在集合中,以便于快速定位集合中的对象。

TreeSet:

作用:
TreeSet集合是用来对象元素进行排序的,同样他也可以保证元素的唯一。
compareTo方法来做排序:
此方法用于将 Number 对象与方法的参数进行比较。可用于比较 Byte, Long, Integer等。
用于两个相同数据类型的比较,两个不同类型的数据不能用此方法来比较。

==> Map又分为 HashMap, TreeMap

HashMap:

HashMap类实现的Map集合,无序
通过哈希码对其内部的映射关系进行快速查找
HashMap类实现的Map集合对于添加和删除映射关系更高效。

TreeMap:

映射关系存在一定的顺序,在遍历集合时是有序的,
根据健对象进行升序降序

Map< Integer, String> map=new TreeMap<>(new Comparator
() { @Override public int compare(Integer o1, Integer o2) {// return o1.compareTo(o2); //按照key值大小升序排列 -o1.compareTo(o2)即o2.compareTo(o1)按照key值大小降序排列 return -1; //按put反顺序排序 1则为 put顺序排列 } }); map.put(5, "a"); map.put(3, "c"); map.put(4, "b"); map.put(2, "d"); map.put(1, "e"); for(Entry
aEntry:map.entrySet()) { System.out.println(aEntry.getKey()+":"+aEntry.getValue()); }
上一篇:JAVA_异常处理
下一篇:Spark_RDD的持久化

发表评论

最新留言

逛到本站,mark一下
[***.202.152.39]2025年03月16日 09时18分46秒