java常用集合类

·Java常用集合关系概览:


·集合框架的由来:

因为每个容器对象的自身的数据结构不同,所以对它们进行单独的描述和对象封装,并不断的向上抽取共性内容,这样就形成了集合框架。

·含义:

集合就是一个容器,用来存储对象、长度可变。

·理解:

其实火车就是一个容器,火车上面的每一位顾客都是单独封装了功能的对象,因为火车上面的乘客数量由于乘坐区间的不同每个时间段都在变化,所以长度是可变的。

·常用方法:

1、增加:

add()增加一个元素

addAll()增加多个元素

2、删除:

remove()删除一个元素,返回boolean类型,用equals方法进行判断,看是否有符合要求的元素,删除成功则会改变集合长度。

removeAll()删除全部。

clear()清空容器。

3、判断

contains()是否包含

isEmpty()集合是否为空

Size()集合长度

4、取

retainAll()取交集

·详细介绍每个集合类:

1、list:有序列表(存储顺序是一致的)该子系统元素中有索引或角标,可以存储重复的元素。

常用方法:

1)添加:List.add(1,"abc");//在角标1位置添加一个值为“abc”的元素。

2)删除:Object obj=list.remove(2);//删除角标为2处的元素。

3)查询:Object obj=list.get(1);获取指定 角标上的元素并返回。

4)修改:Object obj=list.set(1,"bcd");

下层结构:

1)ArrayList:底层是数组数据结构,不同步,查询快,增删慢。

2)LinkedList:底层是链表数据结构,不同步,查询快,增删慢。

3)Vector:底层是数组数据结构,同步,线程安全,效率低。

2、set:无序、不能存储重复的元素。

下层结构:

1)HashSet:底层是哈希表数据结构,无序,能保证元素的唯一性。(通过hashCode和equals两个方法来保证唯一性的)

·LinkHashSet:以元素的插入顺序来维护集合的连接表,允许以插入的顺序的集合中迭代。

2)TreeSet:用于给set集合中元素按照规定的顺序进行排序,低层是二叉树结构,线程是不同步的。(默认是自然排序方式)

3、Map:是结合框架中的顶层,存储键值对,键是唯一的。(如果存在键重复,新值覆盖旧值)

常用方法:

1)增加:put();putAll();

2)删除:clear();Remove(key);

3)判断:containKey();containValue();

4)获取:get(Objcet key);Size();Values();

下层结构:

1)HashMap:低层是哈希表数据结构,该集合是不同步的,允许使用null键和null值

·LinkHashMap:保证按照插入的顺序进行读取。

2)HashTable:该集合是同步,线程安全的,不允许出现null

3)TreeMap:底层是二叉树数据结构,线程不同步,可以用于给Map集合中的键进行排序。

4、Iterator:个人理解,在这里它是提供对集合的遍历。


·Collections和Collection的区别:

1)Colleciton是一个集合接口,它提供了对集合对象进行基本操作的通用接口方法,为各种具体的集合提供了最大化的统一操作方式。

2)Collecitons是一个包装类,它包含各种有关集合操作的静态多态方法。它不可实例化,就像一个工具类。比如使用集合的ArrayList,完全可以使用Collections这个包装类将其转换成线程安全的。


·集合使用的细节问题:

1、直接存储基本类型的值也是可以的,因为jdk1.5之后有了自动装箱,会将基本数据类型转成对象。

2、集合对象中存储的其实是对象元素的引用。



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 15
    评论
Java常用集合类包括 List、Set、Map、Queue 等,它们分别具有以下特点: 1. List:List 接口是有序的集合,可以根据索引位置访问元素。常用的实现类有 ArrayList 和 LinkedList。ArrayList 实现了可变大小的数组,查询效率高,修改效率较低;LinkedList 实现了链表,查询效率较低,插入和删除效率高。 2. Set:Set 接口是无序的集合,不允许有重复元素。常用的实现类有 HashSet 和 TreeSet。HashSet 通过哈希表实现,插入和查询效率较高;TreeSet 通过红黑树实现,可以按照元素的自然顺序或者自定义比较器进行排序。 3. Map:Map 接口是键值对的集合,每个键最多只能映射到一个值。常用的实现类有 HashMap 和 TreeMap。HashMap 通过哈希表实现,插入和查询效率较高;TreeMap 通过红黑树实现,可以按照键的自然顺序或者自定义比较器进行排序。 4. Queue:Queue 接口是一种先进先出(FIFO)的集合常用的实现类有 LinkedList 和 PriorityQueue。LinkedList 实现了双端队列,可以在队头和队尾进行插入和删除操作;PriorityQueue 实现了优先队列,可以根据元素的自然顺序或者自定义比较器进行排序。 以上集合类都是线程不安全的,如果需要使用线程安全的集合类,可以使用对应的线程安全类,如 Vector、Hashtable、ConcurrentHashMap、ConcurrentLinkedQueue 等。 总的来说,Java集合类丰富、易用,可以满足各种不同的需求,是 Java 编程中不可或缺的一部分。
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值