java集合框架常用知识总结

参考菜鸟教程
​​​​​​​​​​​​​Java 集合框架 | 菜鸟教程 (runoob.com)

java集合框架分为两类:

1.collection:存储的元素是单个的

2.map:存储的元素是键值对

这两个被称作根接口。

collection有三个子接口,List、Set、Queue。再往下是一些抽象类,最后是具体实现类,常用的有 ArrayListLinkedListHashSet、LinkedHashSet、HashMap、LinkedHashMap 等等。

java集合框架中的接口:

1.Collection: 存储一组不唯一(元素可重复)、无序的对象。

2.List :存储一组不唯一(元素可重复)、有序(按插入顺序,也因此可通过索引来访问其中元素)的对象。

3.Set:存储一组唯一(元素不可重复),无序的对象。

4.SortedSet:继承于Set保存有序的集合。

5.Map:存储一组键值对象,提供key(键)到value(值)的映射。

6.SortedMap:继承于 Map,使 Key 保持在升序排列。

java集合框架中的标准集合类:

Java提供了一套实现了Collection接口的标准集合类。其中一些是具体类,这些类可以直接拿来使用,而另外一些是抽象类,提供了接口的部分实现。

1.LinkedList

1)允许有null(空)元素。主要用于创建链表数据结构,该类没有同步方法,如果多个线程同时访问一个List,则必须自己实现访问同步,解决方法就是在创建List时候构造一个同步的List。例如:

List list=Collections.synchronizedList(newLinkedList(...));

2)LinkedList 查找效率低。与 ArrayList 相比,LinkedList 的增加和删除的操作效率更高,而查找和修改的操作效率较低。(结合 Linked---链表, Array---数组

以下情况使用 ArrayList :

  • 频繁访问列表中的某一个元素。
  • 只需要在列表末尾进行添加和删除元素操作。

以下情况使用 LinkedList :

  • 你需要通过循环迭代来访问列表中的某些元素。
  • 需要频繁的在列表开头、中间、末尾等位置进行添加和删除元素操作

3)LinkedList 实现了 Queue 接口,可作为"栈"使用。

      LinkedList 实现了 List 接口,可进行列表的相关操作。

      LinkedList 实现了 Deque 接口,可作为队列使用。

      LinkedList 实现了 Cloneable 接口,可实现克隆。

      LinkedList 实现了 java.io.Serializable 接口,即可支持序列化,能通过序列化去传输。

4)操作:

2.ArrayList

1)实现了可变大小的数组,随机访问和遍历元素时,提供更好的性能。该类也是非同步的,在多线程的情况下不要使用。ArrayList 增长当前长度的50%,插入删除效率低。

2)Vector与ArrayList相似,但是Vector是同步的,它的操作与ArrayList几乎一样。

3)操作:add()  |  get()  |  set()  |  size()  |  remove()  |  sort()

Java ArrayList | 菜鸟教程 (runoob.com)

3.HashSet

1)不允许出现重复元素元素无序允许包含值为null的元素,但最多只能一个。HashSet 不是线程安全的。

2)操作:add()  |  remove()  |  clear()  |  size()  |  contains()

Java HashSet | 菜鸟教程 (runoob.com)

4.HashMap

1)HashMap 是一个散列表,它存储的内容是键值对(key-value)映射。
根据键的HashCode值存储数据,具有很快的访问速度,最多允许一条记录的键为null,不支持线程同步。HashMap 是无序的

2)操作:put(key, value)  |  value = get(key)  |  remove(key)  |  size()  |  clear()  |  keySet()   |  values()

Java HashMap | 菜鸟教程 (runoob.com)

好多啊~复制粘贴没意思~这篇Java集合框架最全详解(看这篇就够了)_java 集合框架-CSDN博客写的好好!

  • 20
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值