<强> 1。概述:强>
在学习集合前,先回忆一下数组的一个特征——数组有固定的长度,定义一个数组:int[]数组=new int[];而针对数据长度可变的情况,产生了集合,java集合就是为了应对动态增长数据,在编译时无法知道具体的数据量而产生的。
集合类又叫容器类。
<强> 2。集合和数组的区别强>
-
<李>都是容器,数组时固定的长度,集合时可变的;李>
<李>数组存放的数据都是基本数据类型(四类八种)集合存放的数据都是引用数据类型(字符串、整数、自定义数据类型)李>
<李>集合中对于基本数据类型会转换位引用数据类型再存储。李>
<强> 3。集合包含内容,集合的框架强>
-
<李>接口:收集、地图、集合、列表等(其列表中设置和继承了集合)李>
<李>抽象类:AbstractCollection AbstractList等(实现了部分方法)李>
<李>实现类:ArrayList, LinkedList, HashMap等李>
<李>迭代器:迭代器(集合的访问迭代,返回集合中的元素的迭代器)李>
<强> 1。概述强>
列表集合是一个有序的,可重复的集合,集合中每一个元素都有对应的顺序索引。
列表允许加入重复元素是应为可以通过索引来访问指定位置的元素。
列表集合默认按照元素的添加顺序增加元素的索引。
<强> 2. arraylist 强>
1祝辞概述
ArrayList是基于数组实现的类列表,实现所有可选列表操作,允许所有元素包括空
2在初始化
ArrayList ArrayList=new ArrayList (),,=在初始容量为10的列表集合
ArrayList
3的在主要方法
,布尔加(E)——在将指定的元素追加到此列表的末尾只,
空白添加元素(int指数(E) - - -在在此列表中的指定位置插入指定的元素只,
布尔addAll (Collection<& # 63;E>延伸;c)——在按指定集合的迭代器返回的顺序将指定集合中的所有元素追加到此列表的末尾只,
布尔addAll (int指数,Collection<& # 63;E>延伸;c)——在将指定集合中的所有元素插入到此列表中,从指定的位置开始。
布尔(对象o)包含在如果此列表包含指定的元素,则返回真的。
E得到(int指数),在返回此列表中指定位置的元素只
E删除(int指数)——在删除该列表中指定位置的元素只
E组(int指数E元素)——在用指定的元素替换此列表中指定位置的元素。
Object [] toArray()——在以正确的顺序(从第一个到最后一个元素)返回一个包含此列表中所有元素的数组。
/* * * @作者:PrincessHug * @日期:2019/2/10 0:18 * @博客:https://www.cnblogs.com/HelloBigTable/*/公开课ArrayListDemo01 { 公共静态void main (String [] args) { ArrayListarr=新ArrayList (); arr.add (“123”); System.out.println (arr); ArrayList 人=new ArrayList (); 人p1=new (“Wyh”, 18); 人p2=new(“猎人”,40); person.add (p1); person.add (p2); for (int i=0; i< person.size();我+ +){ System.out.println (person.get (i)); } System.out.println (person.contains (p2)); person.remove (1); person.set (0, p2); 人[]人=new [2]; person.toArray(人); System.out.println(人[0]); System.out.println(人[1]); } } 公共类人{ 私人字符串名称; 私人int年龄; 公众人物(){} 公众人物(字符串名称,int年龄){ this.name=名称; 这一点。年龄=年龄; } 公共字符串getName () { 返回名称; } 公共空间setName(字符串名称){ this.name=名称; } 公共int getAge () { 返回年龄; } 公共空间setAge (int年龄){ 这一点。年龄=年龄; } @Override 公共字符串toString () { 返回“[”+ this.name +”、“+ this.age +“]”; } }
<强> 3.列表集合遍历的4种方法强>
-
<李>通过List.size()方法作为为循环的条件,同数组遍历李>
<李>通过迭代器迭代器Iterator