首页 > 其他分享 >Arrays.asList的坑

Arrays.asList的坑

时间:2023-12-21 16:57:57浏览次数:29  
标签:Arrays 子集合 ArrayList 元素 集合 asList

2023年12月21日下午16.46分,咪宝马上下班去上海过圣诞节去了,一个人孤单

 

CTO:谁在项目中使用Arrays.asList、ArrayList.subList,就立马滚蛋!

 

1.asList用来把数组转成ArrayList,方便。

  但问题是这个方法生成的ArrayList是Arrays的内部类,这个内部类没有实现抽象类AbstractList的put方法,所以不能添加元素,同时也没办法转换成真正的ArrayList,所以只能用做临时List,最好不用

 

2.Arrays.subList用来分割List,生成的同样是一个内部类,不是真正的ArrayList,子集合和父集合的元素修改相互影响。父集合修改结构后,子集合会报错,子集合添加元素会让父集合也添加元素

总的来说子集合就是父集合的一个视图

 

标签:Arrays,子集合,ArrayList,元素,集合,asList
From: https://www.cnblogs.com/javarook/p/17919418.html

相关文章

  • CF1870B-Friendly-Arrays-题解
    title:CF1870BFriendlyArrays题解date:2023-09-2010:32:12categories:-题解翻译给出长度为\(n\)的序列\(a\)和长度为\(m\)的序列\(b\),选出\(b\)中的任意个数(可以不选),让\(a\)的每个数都或上它们,求\(a_1\oplusa_2\oplus\dots\oplusa_n\)的最大值......
  • Arrays工具类二分查找方法binarySearch方法详解​
    Arrays工具类二分查找方法binarySearch方法详解基础知识该方法的一般形式是publicstatic<T>intbinarySearch(T[]a,Tkey),对于基本类型,都有相应的重载方法,如针对int类型有binarySearch(int[]a,intkey)等。该方法的原理是使用二分查找算法在指定的数组中搜索指定的值。在调......
  • CF1859F Fancy Arrays
    FancyArrays-洛谷我们先找这题看起来有点奇怪的部分:\(x\leq40\)\(|a_i-a_{i-1}|\leqk\)我们先考虑第二个条件怎么用。我们发现\(\mina_i\in[0,x+k)\),而原数组相邻两数之差的条件肯定要考虑成差分来处理可以发现,一个差分数组和\(\mina_i\)与一个\(a_......
  • C1. Good Subarrays (Easy Version)
    思路:我们枚举每一个左端点,对于每一个左端点,寻找最长的满足条件的区间,这个区间长度就是左端点对答案的贡献,可以发现具有单调性,右端点只会前进不会倒退。所以我们两个指针各扫一遍区间就可以。#include<bits/stdc++.h>#definelsp<<1#definersp<<1|1#definePIIpair<int,......
  • C1. Good Subarrays (Easy Version)(推公式找性质)
    思路:\[能想到平方是比较特殊的,因为x*x一定是x的倍数也就是说\sqrt[2]{x*x}={x}\]\[所以需要考虑平法之间的数手模一下样例可以发现[x^2,(x+1)^2)之间是x倍数的有x^2\]\[x*(x+1),x*(x+2)这三个,所以可以知道平方之间有三个,只要讨论一下出来整个区间边界还有多少个\]这里可......
  • 【JavaSE】一些常见API(Object、Objects、Math、System、BigDecimal、包装类、Arrays)
    Object类Object类介绍toString方法直接println(对象名),默认会自动调用(对象名.toString),而.toString默认是返回地址信息->全类名(包名+类名)@地址的十六进制哈希值,因此如果println(对象名)控制台没有输出地址值,说明该类一定重写了Object类的toString方法,比如String类和Arr......
  • Arrays类
    数组的工具类java.util.Arrays由于数组对象本身并没有什么方法可以供我们调用,但API中提供了一个工具类Arrays供我们使用,从而可以对数据对象进行一些基本操作查看jdk帮助文档Arrays类中的方法都是static修饰符的静态方法,在使用的时候可以直接使用类名进行调用,而不用使用对象来调用(......
  • Arrays类
    packagearray;importjava.util.Arrays;publicclassArrayDemo06{publicstaticvoidmain(String[]args){int[]a={1,2,3,4,9090,31231,543,21,3,23};int[]b={1,2,3,4,5,6,7,8,9,10,11};System.out.println(a);//[I@1b6d358......
  • 7-1896C - Matching Arrays
    题意:两个数组\(a和b\),对\(b\)任意排序,使得\(a[i]>b[i]的个数为x\),要求输出能满足的数列。思路:一个任意排序,相当于两个任意排序,都升序,发现规律,\(让排序后的b数组,循环右移x位置\),满足条件则输出,否则一定不满足。代码:点击查看代码#include<bits/stdc++.h>#defineintlong......
  • [LeetCode] 1630. Arithmetic Subarrays
    Asequenceofnumbersiscalledarithmeticifitconsistsofatleasttwoelements,andthedifferencebetweeneverytwoconsecutiveelementsisthesame.Moreformally,asequencesisarithmeticifandonlyifs[i+1]-s[i]==s[1]-s[0]forallvalid......