作为一个Developer,Java集合类是我们在工作中运用最多的、最频繁的类。相比于数组(Array)来说,集合类的长度可变,更加适合于现代开发需求;
Java集合就像一个容器,可以存储任何类型的数据,也可以结合泛型来存储具体的类型对象。在程序运行时,Java集合可以动态的进行扩展,随着元素的增加而扩大。在Java中,集合类通常存在于java.util包中。
Java集合主要由2大体系构成,分别是Collection体系和Map体系,其中Collection和Map分别是2大体系中的顶层接口。
Collection主要有三个子接口,分别为List(列表)、Set(集)、Queue(队列)。其中,List、Queue中的元素有序可重复,而Set中的元素无序不可重复;
List中主要有ArrayList、LinkedList两个实现类;Set中则是有HashSet实现类;而Queue是在JDK1.5后才出现的新集合,主要以数组和链表两种形式存在。
Map同属于java.util包中,是集合的一部分,但与Collection是相互独立的,没有任何关系。Map中都是以key-value的形式存在,其中key必须唯一,主要有HashMap、HashTable、TreeMap三个实现类。
1 List在Collection中,List集合是有序的,Developer可对其中每个元素的插入位置进行精确地控制,可以通过索引来访问元素,遍历元素。
在List集合中,我们常用到ArrayList和LinkedList这两个类。
其中,ArrayList底层通过数组实现,随着元素的增加而动态扩容。而LinkedList底层通过链表来实现,随着元素的增加不断向链表的后端增加节点。
ArrayList是Java集合框架中使用最多的一个类,是一个数组队列,线程不安全集合。
它继承于AbstractList,实现了List, RandomAccess, Cloneable, Serializable接口。
(1)ArrayList实现List,得到了List集合框架基础功能;
(2)ArrayList实现RandomAccess,获得了快速随机访问存储元素的功能,RandomAccess是一个标记接口,没有任何方法;
(3)ArrayList实现Cloneable,得到了clone()方法,可以实现克隆功能;
(4)ArrayList实现Serializable,表示可以被序列化,通过序列化去传输,典型的应用就是hessian协议。
它具有如下特点:
容量不固定,随着容量的增加而动态扩容(阈值基本不会达到)有序集合(插入的顺序==输出的顺序)插入的元素可以为null增删改查效率更高(相对于LinkedList来说)线程不安全数据结构:(JDK1.7)
LinkedList是一个双向链表,每一个节点都拥有指向前后节点的引用。相比于ArrayList来说,LinkedList的随机访问效率更低。
它继承AbstractSequentialList,实现了List, Deque, Cloneable, Serializable接口。
(1)LinkedList实现List,得到了List集合框架基础功能;
(2)LinkedList实现Deque,Deque 是一个双向队列,也就是既可以先入先出,又可以先入后出,说简单些就是既可以在头部添加元素,也可以在尾部添加元素;
(3)LinkedList实现Cloneable,得到了clone()方法,可以实现克隆功能;
(4)LinkedList实现Serializable,表示可以被序列化,通过序列化去传输,典型的应用就是hessian协议。
数据结构:(JDK1.7)
A:添加功能boolean add(E e):向集合中添加一个元素void add(int index, E element):在指定位置添加元素boolean addAll(Collection<? extends E> c):向集合中添加一个集合的元素。 B:删除功能void clear():删除集合中的所有元素E remove(int index):根据指定索引删除元素,并把删除的元素返回boolean remove(Object o):从集合中删除指定的元素boolean removeAll(Collection<?> c):从集合中删除一个指定的集合元素。C:修改功能E set(int index, E element):把指定索引位置的元素修改为指定的值,返回修改前的值。D:获取功能E get(int index):获取指定位置的元素Iterator iterator():就是用来获取集合中每一个元素。E:判断功能boolean isEmpty():判断集合是否为空。boolean contains(Object o):判断集合中是否存在指定的元素。boolean containsAll(Collection<?> c):判断集合中是否存在指定的一个集合中的元素。F:长度功能int size():获取集合中的元素个数G:把集合转换成数组Object[] toArray():把集合变成数组。
1.2 ArrayList基本操作public class ArrayListTest { public static void main(String[] agrs){ //创建ArrayList集合: List<String> list = new ArrayList<String>(); System.out.println("ArrayList集合初始化容量:"+list.size()); //添加功能: list.add("Hello"); list.add("world"); list.add(2,"!"); System.out.println("ArrayList当前容量:"+list.size()); //修改功能: list.set(0,"my"); list.set(1,"name"); System.out.println("ArrayList当前内容:"+list.toString()); //获取功能: String element = list.get(0); System.out.println(element); //迭代器遍历集合:(ArrayList实际的跌倒器是Itr对象) Iterator<String> iterator = list.iterator(); while(iterator.hasNext()){ String next = iterator.next(); System.out.println(next); } //for循环迭代集合: for(String str:list){ System.out.println(str); } //判断功能: boolean isEmpty = list.isEmpty(); boolean isContain = list.contains("my"); //长度功能: int size = list.size(); //把集合转换成数组: String[] strArray = list.toArray(new String[]{}); //删除功能: list.remove(0); list.remove("world"); list.clear(); System.out.println("ArrayList当前容量:"+list.size()); }}
1.3 LinkedList基本操作public class LinkedListTest { public static void main(String[] agrs){ List<String> linkedList = new LinkedList<String>(); System.out.println("LinkedList初始容量:"+linkedList.size()); //添加功能: linkedList.add("my"); linkedList.add("
扫码加微信详细咨询太和智慧养老产品和平台服务!
版权声明:
---------------------------------------------------------------
所有信息来源于互联网,本文的版权归原作者所有,不代表本网观点和立场。
本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至 81480447@qq.com 举报,一经查实,本站将立刻删除。
扫码加微信详细咨询太和智慧养老产品和平台服务!
养老资讯
- 阿谀奉承见风使舵是什么意
- 凶肖是哪几个生肖(对家人
- 二战时期,重机枪暴露出很
- 鸡冠的拼音?怎么区别“冠
- 成王败寇什么时候成了失败
- 俄累计病例超40万(最近
- 知足常乐的意思是什么(“
- 弦外之音鬼卞(听不懂他人
- 你觉得最荡气回肠的古代诗
- 传宗接代的意思是什么(如
- 怎么才能找到爱好诗词的朋
- 筵开玳瑁,褥设芙蓉是啥意
- 人的一生怎样活才能做到无
- 使劲的拼音是什么?劲的拼
- 自言自语的意思(自言自语
- 带春字的诗句300首(以
- 上联:桃李春风一杯酒,如
- 有缘千里来相会(有缘千里
- 《莫生气》全诗?现在小学
- 一个家族的败落的本质原因
- 远大抱负的意思是什么(什
- 革故鼎新的意思(强势文化
- 突然好想你歌词(你知道,
- 代表玉石的字有哪些?玉是
- 人定胜天的理解和看法(你
- 一根筋是什么意思?一根筋
- 千载难逢平与特是什么生肖
- 雨后春笋的意思(农村老话
- 九泉之下安息(有人看过开
- 你为自己的头条好友写过哪
- 因小失大作文(子曰"君子
- 男人怎么样才能使自己开朗
- 废话的意思到底是什么?废
- 何谓“道心惟微”?人心惟
- 中国成语大会第一季(“中
- 芸芸众生我只甜你(你知道
- 花开彼时皆少年(有哪些形
- “蹉跎了岁月又蹉跎了自我
- 引人注目的意思是什么?用
- 现在房地产处于低谷,20
助老机构介绍
姓名:
年龄:
电话: