java细节之list删除 博客分类: JAVA java
程序员文章站
2024-03-06 12:07:01
...
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但是其内部静态类,其并不不支持删除
初始化方案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但是其内部静态类,其并不不支持删除
推荐阅读
-
java细节之list删除 博客分类: JAVA java
-
Java 获取屏幕内容 博客分类: JavaJAVA零散小知识
-
AES加密时抛出java.security.InvalidKeyException: Illegal key size or default parameter 博客分类: WEB
-
java发送邮件附件乱码的解决 博客分类: WEB 附件名称乱码
-
Java链接MySQL数据库 博客分类: JavaMySQL mysqljavadatabase数据库
-
Callable 博客分类: 基础知识 java
-
java匿名类 博客分类: 基础知识
-
Java链接Oracle数据库 博客分类: JavaOracle oraclejavajdbc
-
Java链接MySQL数据库 博客分类: JavaMySQL mysqljavadatabase数据库
-
java的POST 博客分类: 基础知识