iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >Java使用list集合remove需要注意的事项有哪些
  • 706
分享到

Java使用list集合remove需要注意的事项有哪些

2023-06-29 00:06:14 706人浏览 薄情痞子
摘要

这篇文章给大家介绍Java使用list集合remove需要注意的事项有哪些,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。在实际开发中有时候会碰到这样的场景,需要将一个list集合中的某些特定的元素给删除掉,这个时候用可

这篇文章给大家介绍Java使用list集合remove需要注意的事项有哪些,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

在实际开发中有时候会碰到这样的场景,需要将一个list集合中的某些特定的元素给删除掉,这个时候用可以用List提供的remove方法来实现需求。

List中的remove方法传入的参数可以是集合的下标,也可以是集合中一个元素,也可以是一个集合

Java使用list集合remove需要注意的事项有哪些

错误使用示例一:

这里我使用的是增强for循环,会发现直接报错。

List集合的一个特点是它其中的元素时有序的,也就是说元素的下标是根据插入的顺序来的,在删除头部或者中间的一个元素后,后面的元素下标会往前移动。循环的时候就会出现问题。

@Data@AllArgsConstructorpublic class Person {    private String id;    private String name;    public static void main(String[] args) {        List<Person> lists = new ArrayList<>();        lists.add(new Person("1", "张三"));        lists.add(new Person("2", "王五"));        lists.add(new Person("3", "李六"));        lists.add(new Person("4", "哈哈"));        for (Person person4 : lists) {            if (person4.getId().equals("2")) {                lists.remove(person4);            }        }    }}

Java使用list集合remove需要注意的事项有哪些

解决方案一:

不要用for-each遍历,换成迭代器遍历,并且不要用list.remove()方法移除对象,用迭代器的方法iterator.remove()移除对象。

@Data@AllArgsConstructorpublic class Person {    private String id;    private String name;    public static void main(String[] args) {        List<Person> lists = new ArrayList<>();        lists.add(new Person("1", "张三"));        lists.add(new Person("2", "王五"));        lists.add(new Person("3", "李六"));        lists.add(new Person("4", "哈哈"));        Iterator<Person> iterator = lists.iterator();        while (iterator.hasNext()){            Person next = iterator.next();            if(next.getId().equals("2")){                iterator.remove();            }        }        lists.forEach(item-> System.out.println(item));    }}

Java使用list集合remove需要注意的事项有哪些

解决方案二:

在循环中(比如for循环)使用remove方法时,注意要从List集合的最后一个元素开始遍历。

@Data@AllArgsConstructorpublic class Person {    private String id;    private String name;    public static void main(String[] args) {        List<Person> lists = new ArrayList<>();        lists.add(new Person("1", "张三"));        lists.add(new Person("2", "王五"));        lists.add(new Person("3", "李六"));        lists.add(new Person("4", "哈哈"));        for (int i = lists.size() - 1; i >= 0; i--) {            if (lists.get(i).getId().equals("2")) {                lists.remove(i);            }        }        lists.forEach(item-> System.out.println(item));    }}

Java使用list集合remove需要注意的事项有哪些

错误使用示例二:

这个示例当中没有使用增强for,而是普通的循环,没有报错,但是结果不是我们想要的结果。

public static void main(String[] args) {    List<String> strList = new ArrayList<>();    strList.add("a");    strList.add("b");    strList.add("c");    strList.add("d");    strList.add("e");    strList.add("f");    for (int i = 0; i < strList.size(); i++) {        if (i % 2 == 0) {            strList.remove(i);        }    }    for (String str : strList) {        System.out.print(str + " ");    }}

Java使用list集合remove需要注意的事项有哪些

这个示例是我要把集合坐标为2的元素给删除掉,按正常来说输出b d f 才是我们想要的结果,显然结果是不对的。

分析结果原因:

a b c d e f
0 1 2 3 4 5 删除0坐标的a,然后后面元素向前移动
b c d e f
0 1 2 3 4   当i=1的时候不删除,这时候i为2,删除d
b c e f
0 1 2 3        删除完d之后,后面向前移动,当i为3时候不用删除,循环结束。

注意:假如使用增强for就会报上面案例当中的错误。

for (String a : strList) {    if (a.equals("a")) {        strList.remove(a);    }}

解决方案:

倒着循环list即可。

public static void main(String[] args) {    List<String> strList = new ArrayList<>();    strList.add("a");    strList.add("b");    strList.add("c");    strList.add("d");    strList.add("e");    strList.add("f");    for (int i = strList.size() - 1; i >= 0; i--) {        if (i % 2 == 0) {            strList.remove(i);        }    }    for (String str : strList) {        System.out.print(str + " ");    }}

Java使用list集合remove需要注意的事项有哪些

java基本数据类型有哪些

Java的基本数据类型分为:1、整数类型,用来表示整数的数据类型。2、浮点类型,用来表示小数的数据类型。3、字符类型,字符类型的关键字是“char”。4、布尔类型,是表示逻辑值的基本数据类型。

关于Java使用list集合remove需要注意的事项有哪些就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

--结束END--

本文标题: Java使用list集合remove需要注意的事项有哪些

本文链接: https://www.lsjlt.com/news/321331.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Java使用list集合remove需要注意的事项有哪些
    这篇文章给大家介绍Java使用list集合remove需要注意的事项有哪些,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。在实际开发中有时候会碰到这样的场景,需要将一个list集合中的某些特定的元素给删除掉,这个时候用可...
    99+
    2023-06-29
  • Java使用list集合remove需要注意的事项(使用示例)
    目录错误使用示例一:解决方案一:解决方案二:错误使用示例二:分析结果原因:解决方案:在实际开发中有时候会碰到这样的场景,需要将一个list集合中的某些特定的元素给删除掉,这个时候用可...
    99+
    2024-04-02
  • Java集合注意事项有哪些
    今天小编给大家分享一下Java集合注意事项有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一、Map 接口1、注意事项(...
    99+
    2023-06-30
  • 六个Java集合使用时需要注意的事项
    目录1.集合判空2.集合转 Map3.集合遍历4.集合去重5.集合转数组6.数组转集合1.集合判空 判断所有集合内部的元素是否为空,使用 isEmpty() 方法,而不是 size(...
    99+
    2023-01-29
    Java集合使用 Java集合
  • 在python中使用集合时需要注意的事项
    这篇文章将为大家详细讲解有关在python中使用集合时需要注意的事项,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。Python的优点有哪些1、简单易用,与C/C++、Java、C# 等传统语...
    99+
    2023-06-14
  • mongodb查询集合要注意哪些事项
    在查询 MongoDB 集合时,需要注意以下事项: 查询条件:确定需要查询的数据以及相应的查询条件,包括字段值、逻辑运算符等。 ...
    99+
    2024-04-09
    mongodb
  • React中需要注意的事项有哪些
    小编给大家分享一下React中需要注意的事项有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、容器性组件(containe...
    99+
    2024-04-02
  • 在java中使用static是需要注意哪些事项
    在java中使用static是需要注意哪些事项?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。java基本数据类型有哪些Java的基本数据类型分为:1、整数类型,用来表示整数...
    99+
    2023-06-14
  • 使用Java构造器时需要注意哪些事项
    今天就跟大家聊聊有关使用Java构造器时需要注意哪些事项,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。Java构造器使用方法及注意事项超类的构造器在子类的构造器运行之前运行,也就是说...
    99+
    2023-05-31
    java ava
  • 在java中使用final时需要注意哪些事项
    在java中使用final时需要注意哪些事项?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。Java的特点有哪些Java的特点有哪些1.Java语言作为静态面向对象编程语言的代表...
    99+
    2023-06-14
  • 使用react框架需要注意哪些事项
    本篇内容主要讲解“使用react框架需要注意哪些事项”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“使用react框架需要注意哪些事项”吧!1.setState到底是同步的还是异步的?class&...
    99+
    2023-06-05
  • 在java中使用变量时需要注意哪些事项
    本篇文章为大家展示了在java中使用变量时需要注意哪些事项,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。1、说明每个变量都有类型,类型可以是基本类型,也可以是引用类型。变量名必须是合法的标识符。变量...
    99+
    2023-06-15
  • 在java中使用泛型接口需要注意哪些事项
    在java中使用泛型接口需要注意哪些事项?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。常用的java框架有哪些1.SpringMVC,Spring Web MVC是一种基于Ja...
    99+
    2023-06-15
  • 规划网站需要注意的事项有哪些
    这篇文章主要讲解了“规划网站需要注意的事项有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“规划网站需要注意的事项有哪些”吧!互联网时代,网站是企业进行全网营销的必备品。可对于网站建设,企...
    99+
    2023-06-10
  • 服务器租需要注意的事项有哪些
    服务器租需要注意的事项有:1、注意服务器的默认开放端口是否为3389以及系统是否自带防火墙;2、注意服务器的维护;3、注意不要擅自关闭以及禁用相关的远程服务器;4、注意不要轻易对服务器的网卡进行相关操作;5、注意服务器的相关防火墙是否允许通...
    99+
    2024-04-02
  • ​香港服务器使用时需要注意的事项有哪些
    香港服务器使用时需要注意的事项:1.购买香港服务器后要及时更改服务器密码,定期更换密码。2. 不要随意更改设置,建议在本地电脑上测试后再去更改服务器。 3. 不要在服务器上运行可能会带来安全问题的应用程序,避免服务器被入侵和数据被盗。4. ...
    99+
    2024-04-02
  • python字典合并的使用要注意哪些事项
    这篇文章主要介绍了python字典合并的使用要注意哪些事项的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇python字典合并的使用要注意哪些事项文章都会有所收获,下面我们一起来看看吧。1、字典合并不符合交换规则...
    99+
    2023-06-30
  • 使用javaweb要注意哪些事项
    1. 确保正确配置和部署Java开发环境,包括安装JDK、配置环境变量等。2. 选择适合的Java Web框架,如Spring MV...
    99+
    2023-09-21
    javaweb
  • 使用jpa要注意哪些事项
    使用JPA时需要注意以下事项:1. 实体类的注解:使用@Entity注解标记实体类,使用@Id标记实体类中的主键字段,使用@Colu...
    99+
    2023-09-12
    jpa
  • 新网站需要注意哪些事项
    这篇文章主要讲解了“新网站需要注意哪些事项”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“新网站需要注意哪些事项”吧!  第一、网站上内容不足  新上线网站大多都是只有几个或者几十个新做的网页...
    99+
    2023-06-10
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作