Java--SE List接口

Java--SE List接口,第1张

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循环
*      ③ 普通的循环

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5712795.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存