集合框架二: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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 面试官问我redis数据类型,我回答了8种

    面试官问我redis数据类型,我回答了8种

    2020年11月20日
    190
  • redis如何查看版本号_redis版本号

    redis如何查看版本号_redis版本号linux环境下查看redis的版本:查看redis的版本有两种方式:1.redis-server–version和redis-server-v 得到的结果是:Redisserverv=3.2.12sha=00000000:0malloc=jemalloc-3.6.0bits=641.redis-cli–version和redis-cli-…

    2022年10月19日
    5
  • Ubuntu 20.04 虚拟显示器且远程连接

    Ubuntu 20.04 虚拟显示器且远程连接一、配置方法1)安装软件通过终端安装虚拟显示器软件。$sudoapt-getinstallxserver-xorg-core-hwe-18.04$sudoapt-getinstallxserver-xorg-video-dummy2)添加配置文件在/usr/share/X11/xorg.conf.d/中添加xorg.conf文件。$sudovim/usr/share/X11/xorg.conf.d/xorg.confSection”Device”

    2022年8月21日
    14
  • Redis在Laravel项目中的应用实例详解

    Redis在Laravel项目中的应用实例详解

    2021年10月24日
    43
  • 5个常用的MySQL数据库管理工具_MySQL 事务

    5个常用的MySQL数据库管理工具_MySQL 事务mysql几个管理工具推荐发布时间:2020-03-2615:59经常跟mysql打交道,免不了用到mysql管理的一些工具,根据我平时使用的一些经验,谈一谈我使用一些工具的心得,推荐给大家。废话就不多说咯,我推荐大家三款工具吧,phpmyadmin,mysqlworkbenth以及mysqladministrator。分别阐述如下。1,phpmyadmin。开发php程序的人应该都知道,这个w…

    2022年8月22日
    11
  • java反射菜鸟教程_Java反射

    java反射菜鸟教程_Java反射JAVA反射机制1定义:主要是指程序可以访问,检测和修改它本身状态或行为的一种能力,并能根据自身行为的状态和结果,调整或修改应用所描述行为的状态和相关的语义。反射是java中一种强大的工具,能够使我们很方便的创建灵活的代码,这些代码可以再运行时装配,无需在组件之间进行源代码链接。但是反射使用不当会成本很高!2.作用A:反编译:.class–>.javaB:通过反射机制访问java对象的属性…

    2022年5月21日
    35

发表回复

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

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