`

java细节之list删除

    博客分类:
  • JAVA
阅读更多
       List<String> al = new ArrayList<String>();
       初始化方案1: al = Arrays.asList("1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13");
       初始化方案2: al = Lists.newArrayList("1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13");
        al.removeIf((t)->Integer.valueOf(t)%2==1);

al.forEach((n) -> {
            System.out.println(n);
        });

测试结果:
使用初始化方案1会报错:
java.lang.UnsupportedOperationException
at java.util.AbstractList.remove(AbstractList.java:161)
at java.util.AbstractList$Itr.remove(AbstractList.java:374)
at java.util.Collection.removeIf(Collection.java:415)
使用初始化方案2正常


原因:

List<String> al = new ArrayList<String>();
al = Arrays.asList("1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13");
其Arrays.asList返回的对象也交做ArrayList但是其内部静态类,其并不不支持删除
分享到:
评论

相关推荐

    SkipList_Java.rar_SkipList in Java_skiplist_skiplist java

    在学习和使用这个项目时,你可以首先阅读`README`了解项目的基本信息,然后查看`SkipList.java`理解跳表的实现细节。`SkipListRenderer.java`和`SkipListApplet.java`可以帮助你进行可视化学习,而`AutoTest.java`和...

    10个Java经典的List面试题!.pdf

    Java中的List接口是集合框架的重要组成部分,主要用于存储有序的元素序列。面试中,对List的了解通常是衡量开发者基础技能的关键指标。以下是对标题和描述中提及的一些Java List面试题的详细解释: 1. **List的实现...

    文件删除java代码

    在Java编程语言中,删除文件是一项常见的操作,...总的来说,Java中的文件操作涉及到许多细节和注意事项,包括错误处理、权限管理、并发控制等。正确地使用这些方法和技巧,可以帮助我们安全、高效地管理文件系统资源。

    java中循环删除list中元素的方法总结

    在Java编程中,当需要在循环中删除列表(List)中的元素时,需要注意一些关键点以避免潜在的问题。这里我们将详细讨论几种不同的循环遍历和删除元素的方法,以及它们的适用场景。 1. **常规for循环**: ```java for...

    java学习细节 android学习笔记

    根据给定的信息,我们可以从Java和Android学习笔记中提取出一系列重要的知识点,下面将逐一进行详细解释。 ### Java基础知识 #### 1. 命令行基础操作 - **`javacmd`**: 这个命令是Java命令行工具的一部分,用于...

    Java集合:Collection、List、Set、Map使用详解

    本文将深入探讨Java集合框架中的四个主要接口:Collection、List、Set和Map,以及它们的实现原理。 ### 集合框架概述 集合框架是Java API中用于存储和管理对象的统一框架。它为数据结构提供了抽象接口,使得程序员...

    JAVA集合(List,Set,Map)

    ### JAVA集合(List, Set, Map)详解 #### 集合框架概述 Java集合框架是Java编程语言中处理数据组织的核心部分。它提供了一系列接口、抽象类和具体实现类,帮助开发者有效地管理对象集合。本篇文章将深入探讨集合框架...

    删除svn文件的java代码

    - 首先检查当前目录是否为`.svn`文件夹,如果是,则调用`deleteDirectory`方法删除之; - 如果不是,则遍历当前目录下的所有文件和子目录,对每个子目录递归调用`deleteSvnDirectory`方法。 - **示例代码**: ```...

    java学习笔记--第二天(list去重问题)

    在Java学习过程中,第二天的主题可能涉及了数据结构和集合框架中的一个重要概念——列表(List)的去重问题。这里我们主要探讨如何在Java中处理List的重复元素,以及可能涉及到的相关技术。 首先,让我们理解列表去重...

    【Java面试题】List如何一边遍历,一边删除?

    在Java编程中,遍历并删除List集合是一个常见的操作,但在实际编程中,如果不使用正确的方法,可能会导致`java.util.ConcurrentModificationException`异常。本文主要针对这个面试题,详细讲解如何在遍历List的同时...

    JAVA 数据处理笔记

    《JAVA 数据处理笔记》是对JAVA编程中数据处理常用结构——List、Map和数组等进行详实记录的学习文档,旨在帮助初学者理解和掌握这些基础但至关重要的概念。这份笔记由Xingyu在Android软件开发实践中整理而成,虽然...

    Java学习之Iterator(迭代器)的一般用法

    总之,Iterator作为Java中处理集合数据的核心工具之一,掌握其基本用法和进阶特性,对于提高代码质量和编程效率具有不可忽视的作用。无论是基础的遍历操作,还是高级的双向迭代和元素操作,Iterator都提供了强大的...

    list实现的购物车

    1. **list数据结构**:在Python中,list是最常用的数据结构之一,它是一个有序的元素集合,可以容纳不同类型的对象,如数字、字符串甚至是其他列表。在购物车场景下,我们可以用list来存储用户选择的商品信息,例如...

    CheckBoxList全选反选添加删除

    在本教程中,我们将探讨如何在Android应用中实现CheckBoxList的全选、反选以及添加删除功能。 首先,我们需要创建一个ListView,它是Android中的列表视图控件,可以用来展示多行数据。为了实现CheckBox与ListView的...

    java笔记 java笔记

    封装是指隐藏对象的内部细节,并仅通过公共接口访问这些对象的能力。 ##### 6.9 方法的重载 方法重载是指在同一类中定义多个同名方法,但参数列表不同。 #### 7. 高级语言特性 ##### 7.1 封装 封装是OOP的一个...

    【IT十八掌徐培成】Java基础第10天-04.List-迭代器-对象等价性.zip

    1. **List接口**:List是Java中的一个接口,继承自Collection,它是顺序存储结构的代表,提供了添加、删除、查找和遍历元素的方法。常见的List实现有ArrayList和LinkedList。ArrayList基于动态数组,适合随机访问;...

    java 集合

    关于源码,Java集合框架的实现类通常包含了许多内部细节,比如数据结构的优化、线程安全的考虑等。例如,`ArrayList`底层使用的是动态增长的数组,而`LinkedList`则由双向链表构成,它们在插入和删除操作上的性能...

    skip list的java版实现

    在提供的博客链接中,可以查看作者对于跳表的 Java 实现细节。通常,跳表的实现会包含一个 `SkipList` 类,其中包含 `Node` 类的定义,以及插入、删除、查找等方法的实现。源码分析可以帮助理解算法的具体实现和...

    浅谈java中对集合对象list的几种循环访问

    在Java编程语言中,集合是数据结构的基本组成部分,特别是List接口,它代表了一种有序的元素集合,允许索引访问。本文将详细讨论在Java中对List对象进行循环访问的三种常见方法:经典for循环、增强for循环(foreach...

    java ftp java ftp

    Java FTP(文件传输协议)是Java编程中用于与FTP服务器进行交互的一种技术。FTP是一种标准的网络协议,用于在互联网上可靠地交换文件。...通过分析这个程序,可以进一步了解Java FTP客户端的实现细节。

Global site tag (gtag.js) - Google Analytics