Java集合简介

集合简介

Java集合框架为程序员提供了预先包装的数据结构和算法来操纵他们,集合是一个对象,可容纳其他对象的引用,和接口声明对每一种类型的结合可以执行的操作,结合框架的类和接口均在util包中,任何对象加入集合类后,自动转变为Object类型,所以在取出对象的时候,需要进行强制类型转换。
Java集合框架主要包括两种类型,一种是集合Collection存储一个元素的集合,里面没有键只有一对值。还有一种就是Map图,存储键值对的映射。Collection集合接口又有是三种子类型,List,Set,Queue,再下面试一些抽象类,最后是具体的实现类,常用的有ArrayList,LinkedList,HashSet,LinkedListSet,HashMap,LindedHashMap等等。

集合接口

Set与Collection的区别,都是存储的无序的对象。但是Set里面的值不能重复。Collection里面的值可以用重复,同样无序。SortedSet继承于Set保存有序的集合。
List接口保存类似Collection,但保存的是一组有序的集合。能够精确到每个元素插入的位置,有点类似c中的指针链表。List接口有两个具体的实现类,ArrayList和LinkedList。
Map保存键值对,有点类似于字典。
Set和List的区别,set接口实例存储的是无序的,不重复的数据,因为是无序的,所以无法根据序列号来来检索,检索效率低下,但是它的存储方式是指针指向下一个元素的随机的存储位置,所以它的删除和插入效率高,删除和插入不会引起元素位置的改变,实现类有HashSet,TreeSet。
List接口存储的有序元素集合,和数组类似,可以动态增长。根据实际存储数据的长度自动增长List的长度,查找元素效率高,因为有个索引。但是插入和删除效率低,插入和删除引起其他元素位置发生改变。实现类有ArrayList,LinkedList,Vector。

常用的结合实现类。

LinkedList。实习List接口,它是可变大小的数组,随机访问和遍历元素时,能提供更好的性能,该类没有同步方法,如果多个线程同时访问一个List,则必须自己实现访问同步,解决方法就是在创建List的时候构造一个同步的List。它有List的一切属性,有序,插入和删除效率低,它允许有空元素,只要用于创建列表数据结构。
HashSet实现了Set接口,不允许出现重复的元素,不保证集合中的元素的顺序,允许包含值为null的元素,但是最多只能一个。
HashMap:是一个散列表,它存储的内容是键值对映射。该类实现了Map接口,根据键的HashCode值存储数据,具有很块的访问速度,最多允许一条记录的值为null。不支持线程同步。
ArrayList,该类也是实现了List接口,实现了可变大小的数组,随机访问和遍历元素时,提供更好的性能。该类也是非同步的,在多线程情况下不要使用,当ArrayList增长当前长度的50%,插入删除效率低。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值