栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java--SE List接口

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java--SE List接口

ArrayList源码分析:jdk7情况下
*      ArrayList list=new ArrayList();//创建了长度是10的Object[]数组elementData
*      list.add(123);//elementData[0]=new Integer(123);
*      ...
*      list.add(123);//如果此次的添加导致底层elementData数组容量不够,则扩容
*      默认情况下,扩容为原来的1.5倍,同时需要将原有数组中的数据复制到新的数组中。
*      
*      结论:建议开发中使用带参的构造器:ArrayList list=new ArrayList(int capacity)
*      jdk8中 ArrayList的变化:
*      ArrayList list=new ArrayList();//底层Object[] elementData初始化为{}.并没有创建长度为10的数组
*      
*      list.add(123);//第一次调用add()时,底层才创建了长度为10的数组,并将数组添加到elementData[0]
*      ...
*      后续的添加和扩容操作与jdk 7无异
*      
*      linkedList的源码分析:
*      linkedList list=new linkedList(); 内部声明了Node类型的first和list属性,默认值为null
*      list.add(123);//将123封装到Node中,创建了Node对象
*      
*      Vector的源码分析:jdk7和jdk8中通过Vector()构造器创建对象时,底层都创建了长度为10的数组
*      再扩容方面,默认扩容为原来数组长度的2倍

 

 /-----Collection接口:单列集合、用来存储一个一个对象
 *      /-----list接口:储存有序的、可重复的数据
 *              /-----ArrayList、linkedList、Vector
 *      /-----set接口:储存无序的,不可重复的数据
 *              /-----HashSet、linkedHashSet、TreeSet
 * /-----Map接口:双列集合,用来储存(key-value)一对一对的数据
 *              /-----HashMap、linkedHashMap、TreeMap、Hashtable
————————————————
版权声明:本文为CSDN博主「阿文】」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_56760130/article/details/122607960
* List接口常用 方法
* void add(int index,Object ele):在index位置插入ele元素
* boolean addAll(int index,Collection eles):从index位置开始将eles中的所有元素都添加进来
* Object get(int index):获取指定index位置上的元素
* int indexOf(Object obj):获取在当前集合中首次出现的位置
* int lastIndexOf(Object obj):返回在当前集合中末次出现的位置
* object remove(int index):移除指定index位置的元素,并返回此元素
* Object set(int index,Object ele):设置指定index位置的元素为ele
* List subList(int fromIndex,int toIndex):返回从fromIndex到toIndex位置的自子集合(左闭右开)
*
* 总结:常用方法
* 增:add(Object obj)
* 删:remove(int index)/remove(Object obj)
* 改:set(int index,Object ele)
* 查:get(int index)
* 插:add(int index,Object ele)
* 长度:size()
* 遍历:① Iterator迭代器方式
*      ② 增强for循环
*      ③ 普通的循环
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/716156.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号