集合框架二:List

集合框架二:List

Collection类的子接口—List

位于:


java.util包下的


public interface List<E>extends Collection<E>

特点:List存储的特点:有序(存储和取出的元素一致)/可以重复的

允许多个 null 元素

一、List特有的成员方法:

1.void add(int index,Object element):在指定位置添加元素

2.Object get(int index);返回集合中指定的元素

3.ListIterator<E> listIterator(int index):List特有的迭代器


查看API 了解ListIterator 迭代器


其中有两个方法:


hasPrevious()


previous()


      和


hasNext();


next();方法进行比较


 

4.删除元素:


Object remove(int index):根据指定的索引删除元素,返回删除的元素




5.Object set(int index,Object element):根据索引修改元素,返回被修改的元素

6.返回集合中的元素个数:int size();

二、ConcurrentModificationException

表示:并发修改异常

集合中如果有kevin,就添加cidy

代码:

List<String> list = new ArrayList<String>();


list.add(“hello”);


list.add(“java”);


list.add(“kevin”);


// 自己写的遍历集合的工具类,


ArrayDemo.arrCollection(list);


System.out.println(“—————————“);


// 解决方法一:使用普通for


for (int i = 0; i < list.size(); i++) {


String s = list.get(i);


if (s.equals(“kevin”)) {


list.add(“cidy”);


}


System.out.println(s);


}


// 解决方法二:


ListIterator<String> lt = list.listIterator();


while (lt.hasNext()) {


String s = lt.next();


if (s.equals(“kevin”)) {

//将指定的元素插入列表(可选操作)。

//该元素直接插入到 next 返回的下一个元素的前面(如果有),

//或者 previous 返回的下一个元素之后(如果有)


lt.add(“cidy”);//ListIterator 中有个add()方法,可以添加到


}


}


System.out.println(list);

自己写的工具类:

import java.util.Collection;

import java.util.Iterator;

public class ArrayDemo {


private ArrayDemo(){};





public static void arrCollection(Collection c){


Iterator<String> i = c.iterator();


while (i.hasNext()) {


String s = i.next();


System.out.println(s);


}


}

}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/100812.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • idea2021.9激活码[最新免费获取]

    (idea2021.9激活码)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~S32PGH0SQB-eyJsaWNlbnNlSWQiOi…

    2022年3月26日
  • linux open函数详解

    linux open函数详解原文地址:https://blog.csdn.net/archyli/article/details/78937937一、open函数用来干什么open函数在Linux下一般用来打开或者创建一个文件,我们可以根据参数来定制我们需要的文件的属性和用户权限等各种参数。二、open函数的定义和参数我们首先来看下open函数在Linux下的定义#include&lt;sys/types.h&gt;#i…

    2022年5月9日
  • 常用公共数据集[通俗易懂]

    常用公共数据集[通俗易懂]原文链接:http://homepages.inf.ed.ac.uk/rbf/CVonline/Imagedbase.htmCVonline:图像数据库(Google直译的结果,希望对大家有帮助)按主题索引行动数据库属性识别自主驾驶生物/医药相机校准脸和眼/虹膜数据库指纹一般图像一般RGBD和深度数据集一般视频手,掌握,手动和手势数据库图像,视频和形状数据库检索对象数据库人(静),人体姿势人员检测…

    2022年5月18日
  • sqlsession、sqlsessionManager以及sqlsessionTemplate的理解

    sqlsession、sqlsessionManager以及sqlsessionTemplate的理解sqlSession是mybatis的核心操作类,其中对数据库的crud都封装在这个中,是一个顶级接口,其中默认实现类是DefaultSqlSession这个类,为什么说DefaultSqlsession不是线程安全的?首先我们都知道mybatis在底层都是使用的JDBC,而JDBC这本来就是线程不安全的(连接对象Connection只有一个),所以我们只要关注session和co…

    2022年5月8日
  • raid5和raid10区别和特性_你适合哪种恋爱测试

    raid5和raid10区别和特性_你适合哪种恋爱测试【IT168专稿】存储是目前IT产业发展的一大热点,而RAID技术是构造高性能、海量存储的基础技术,也是构建网络存储的基础技术。专家认为,磁盘阵列的性能优势得益于磁盘运行的并行性,提高设备运行并行度

    2022年8月2日
  • VMware选择VMnet8模式连接外网的方法

    VMware选择VMnet8模式连接外网的方法介绍VMware连接外网的方法,解决虚拟机不能连网的问题。

    2022年6月3日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号