【从零开始学Java | 第二十二篇】List集合
目录前言一、List集合的三大特点二、List集合的特有方法1.add(int index, E element)2.remove(int index)3.set(int index, E element)4.get(int index)三、List集合的遍历方式1.迭代器遍历2.增强for遍历3.Lambda表达式遍历4.普通for循环遍历5.列表迭代器遍历五种遍历方式对比前言在之前学习了集合整体的体系结构之后这篇文章就来详细的介绍一下Collection系列集合当中的单列集合——List集合。一、List集合的三大特点作为Collection的子类List接口不仅继承了父类的所有方法比如add、remove等还拥有自己的三大特性有序存进去是 1、2、3取出来绝对是 1、2、3。绝不乱序。有索引就像普通数组一样每个元素都有自己的索引号。可重复允许存入两个甚至多个一模一样的元素只要索引不同就行。二、List集合的特有方法List集合因为有索引所以多了很多索引操作的方法。方法名说明voidadd(int index, E element)在此集合中的指定位置插入指定的元素Eremove(int index)删除指定索引处的元素费返回被删除的元素Eset(int index, E element)修改指定索引处的元素返回被修改的元素Eget(int index)返回指定索引处的元素1.add(int index, E element)在此集合中的指定位置插入指定的元素细节原来索引上的元素会依次往后移动。代码演示public class ListTest01 { public static void main(String[] args) { ListString ls new ArrayList(); ls.add(aaa); ls.add(bbb); ls.add(ccc); ls.add(ddd); ls.add(1,QQQ); System.out.println(ls); } }运行结果2.remove(int index)删除指定索引处的元素费返回被删除的元素细节该remove(int index)方法要与remove(object o)区别开来。代码演示public class ListTest01 { public static void main(String[] args) { ListString ls new ArrayList(); ls.add(aaa); ls.add(bbb); ls.add(ccc); ls.add(ddd); String str ls.remove(1); System.out.println(str); System.out.println(ls); } }运行结果问题来了如果我的这个List里装的是Integer类型那么当我调用remove方法时会优先使用哪个remove方法呢接下来看一个代码演示答案是,如果出现了方法的重载会优先调用实参和形参类型一致的那个方法。如果想要调用remove(Object o)这个方法需要手动装箱。Integer i Integer.valueOf(1); li.remove(i);3.set(int index, E element)修改指定索引处的元素返回被修改的元素。代码演示public class ListTest01 { public static void main(String[] args) { ListString ls new ArrayList(); ls.add(aaa); ls.add(bbb); ls.add(ccc); ls.add(ddd); String result ls.set(0, QQQ); System.out.println(result); System.out.println(ls); } }运行结果4.get(int index)返回指定索引处的元素。代码演示public class ListTest01 { public static void main(String[] args) { ListString ls new ArrayList(); ls.add(aaa); ls.add(bbb); ls.add(ccc); ls.add(ddd); String s ls.get(2); System.out.println(s); } }运行结果三、List集合的遍历方式迭代器遍历增强for遍历Lambda表达式遍历列表迭代器遍历普通for循环遍历我们先创建一个集合ListString li new ArrayList(); li.add(刘备); li.add(关羽); li.add(赵云); li.add(张飞); li.add(黄忠);1.迭代器遍历IteratorString it li.iterator(); while(it.hasNext()){ String str it.next(); System.out.println(str); }2.增强for遍历for (String s : li) { System.out.println(s); }3.Lambda表达式遍历li.forEach((String s) -System.out.println(s));4.普通for循环遍历for (int i 0; i li.size(); i) { String str li.get(i); System.out.println(str); }5.列表迭代器遍历ListIteratorString lit li.listIterator(); while(lit.hasNext()){ String s lit.next(); System.out.println(s); }但是相比于迭代器它多了一个添加add的方法。运行结果五种遍历方式对比迭代器遍历在遍历过程中需要删除元素请使用迭代器。列表迭代器在遍历过程中需要添加元素请使用列表迭代器。增强for、Lambda表达式仅需要遍历那么就使用这两种。普通for如果遍历的时候想要操作索引可以用普通for。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2459767.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!