网站开发开发优势,wordpress the7汉化版,wordpress vantage主题,公司建设网站的优势List集合的特点
有序#xff1a; 存和取的元素顺序一致有索引#xff1a;可以通过索引操作元素可重复#xff1a;存储的元素可以重复
List集合的特有方法
Collection的方法List都继承了List集合因为有索引#xff0c;所以有了很多操作索引的方法 ublic static void main…List集合的特点
有序 存和取的元素顺序一致有索引可以通过索引操作元素可重复存储的元素可以重复
List集合的特有方法
Collection的方法List都继承了List集合因为有索引所以有了很多操作索引的方法 ublic static void main(String[] args) {/*List系列集合独有的方法void add(int index,E element) 在此集合中的指定位置插入指定的元素E remove(int index) 删除指定索引处的元素返回被删除的元素E set(int index,E element) 修改指定索引处的元素返回被修改的元素E get(int index) 返回指定索引处的元素*///1.创建一个集合ListString list new ArrayList();//2.添加元素list.add(aaa);list.add(bbb);//1list.add(ccc);//void add(int index,E element) 在此集合中的指定位置插入指定的元素//细节原来索引上的元素会依次往后移list.add(1,QQQ);//E remove(int index) 删除指定索引处的元素返回被删除的元素String remove list.remove(1);System.out.println(remove);//aaa//E set(int index,E element) 修改指定索引处的元素返回被修改的元素String result list.set(0, QQQ);System.out.println(result);// E get(int index) 返回指定索引处的元素String s list.get(0);System.out.println(s);//3.打印集合System.out.println(list);} 当我们调用List.remove方法时回发现有两个参数类型不一样的同名方法 tips方法重载调用优先级优先调用实参和形参类型一致的那个方法。 public static void main(String[] args) {//List系列集合中的两个删除的方法//1.直接删除元素//2.通过索引进行删除//1.创建集合并添加元素ListInteger list new ArrayList();list.add(1);list.add(2);list.add(3);//2.删除元素//请问此时删除的是1这个元素还是1索引上的元素//为什么//因为在调用方法的时候如果方法出现了重载现象//优先调用实参跟形参类型一致的那个方法。//默认int类型所有是删除的indexlist.remove(1);System.out.println(list);//手动装箱手动把基本数据类型的1变成Integer类型Integer i Integer.valueOf(1);//如果需要使用重载的方法remove(Object o)那需要传入Integerlist.remove(i);System.out.println(list);}
List集合的遍历方式
迭代器遍历列表迭代器遍历增强for遍历lambda表达式遍历普通for循环存在索引 public static void main(String[] args) {/*List系列集合的五种遍历方式1.迭代器 遍历过程中需要删除元素用迭代器2.列表迭代器 在遍历过程中需要添加元素用列表迭代器3.增强for 仅想遍历使用增强for或Lambda4.Lambda表达式 仅想遍历使用增强for或Lambda5.普通for循环 遍历的时候需要操作索引使用普通for*///创建集合并添加元素ListString list new ArrayList();list.add(aaa);list.add(bbb);list.add(ccc);//1.迭代器/*IteratorString it list.iterator();while(it.hasNext()){String str it.next();System.out.println(str);}*///2.增强for//下面的变量s其实就是一个第三方的变量而已。//在循环的过程中依次表示集合中的每一个元素/* for (String s : list) {System.out.println(s);}*///3.Lambda表达式//forEach方法的底层其实就是一个循环遍历依次得到集合中的每一个元素//并把每一个元素传递给下面的accept方法//accept方法的形参s依次表示集合中的每一个元素//list.forEach(s-System.out.println(s) );//4.普通for循环//size方法跟get方法还有循环结合的方式利用索引获取到集合中的每一个元素/*for (int i 0; i list.size(); i) {//i:依次表示集合中的每一个索引String s list.get(i);System.out.println(s);}*/// 5.列表迭代器//获取一个列表迭代器的对象里面的指针默认也是指向0索引的ListIteratorString it list.listIterator();//额外添加了一个方法在遍历的过程中可以添加元素while(it.hasNext()){String s it.next();if(bbb.equals(s)){//不能使用集合添加已经被占用了会报出并发修改异常//这个时候应该用列表迭代器添加额外新增的方法it.add(qqq);}System.out.println(s);}System.out.println(list);}
五种遍历方式对比