use*_*884 0 java collections list set
我在java中遇到了retainAll()的一些问题.我有一个有效的列表,如下所示.但是,当我尝试使用retailAll()找到两者之间的交集时,会导致以下错误.
String[] a = {"3", "3", "10", "4", "2", "8"};
String[] b = {"10", "4", "12", "3", "23", "1", "8"};
List<String> aList = Arrays.asList(a);
List<String> bList = Arrays.asList(b);
aList.retainAll(bList);
Run Code Online (Sandbox Code Playgroud)
抛出此异常:
Exception in thread "main" java.lang.UnsupportedOperationException
at java.util.AbstractList.remove(AbstractList.java:659)
at java.util.AbstractList$SimpleListIterator.remove(AbstractList.java:77)
at java.util.AbstractCollection.retainAll(AbstractCollection.java:276)
at JavaTest.main(JavaTest.java:16)
Run Code Online (Sandbox Code Playgroud)
谢谢!
Arrays.asList返回固定大小的列表.所以你不能添加或删除元素.
使用ArrayList带有集合的构造函数.
List<String> aList = new ArrayList<>(Arrays.asList(a));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
404 次 |
| 最近记录: |