大数据必学Java基础(五十四):List接口深入了解

​ List接口深入了解

一、List接口的常用方法和遍历方式

  • package com.lanson.test01;
  • import com.sun.org.apache.xerces.internal.dom.PSVIAttrNSImpl;
  • import java.util.ArrayList;
  • import java.util.Iterator;
  • import java.util.List;
  • /**
  • * @author : lanson
  • */
  • public class Test03 {
  • //这是main方法,程序的入口
  • public static void main(String[] args) {
  • /*
  • List接口中常用方法:
  • 增加:add(int index, E element)
  • 删除:remove(int index) remove(Object o)
  • 修改:set(int index, E element)
  • 查看:get(int index)
  • 判断:
  • */
  • List list = new ArrayList();
  • list.add(13);
  • list.add(17);
  • list.add(6);
  • list.add(-1);
  • list.add(2);
  • list.add("abc");
  • System.out.println(list);
  • list.add(3,66);
  • System.out.println(list);
  • list.set(3,77);
  • System.out.println(list);
  • list.remove(2);//在集合中存入的是Integer类型数据的时候,调用remove方法调用的是:remove(int index)
  • System.out.println(list);
  • list.remove("abc");
  • System.out.println(list);
  • Object o = list.get(0);
  • System.out.println(o);
  • //List集合 遍历:
  • //方式1:普通for循环:
  • System.out.println("---------------------");
  • for(int i = 0;i<list.size();i++){
  • System.out.println(list.get(i));
  • }
  • //方式2:增强for循环:
  • System.out.println("---------------------");
  • for(Object obj:list){
  • System.out.println(obj);
  • }
  • //方式3:迭代器:
  • System.out.println("---------------------");
  • Iterator it = list.iterator();
  • while(it.hasNext()){
  • System.out.println(it.next());
  • }
  • }
  • }
展开

二、ArrayList实现类(JDK1.7)

【1】在idea中切换JDK的方法

【2】ArrayList实现List接口的失误

集合创始人承认了这个失误,但是在后续的版本中没有删除,觉得没必要

【3】底层重要属性

在JDK1.7中:在调用构造器的时候给底层数组elementData初始化,数组初始化长度为10

对应内存

调用add方法

  • ArrayList al = new Array
  • System.out.println(al.add("abc"));
  • System.out.println(al.add("def"));

当数组中的10个位置都满了的时候就开始进行数组的扩容,扩容长度为 原数组的1.5倍

三、ArrayList实现类(JDK1.8)

【1】JDK1.8底层依旧是Object类型的数组,size:数组中有效长度

【2】ArrayList al = new ArrayList();调用空构造器

【3】add方法

四、Vector实现类

【1】底层Object数组,int类型属性表示数组中有效长度

【2】Vector v=new Vector();调用构造器

【3】add方法

本站文章资源均来源自网络,除非特别声明,否则均不代表站方观点,并仅供查阅,不作为任何参考依据!
如有侵权请及时跟我们联系,本站将及时删除!
如遇版权问题,请查看 本站版权声明
THE END
分享
二维码
海报
<<上一篇
下一篇>>