Mar*_*kus 2 java collections list
有,List.addAll(position, collection)但我找不到相应的List.<remove>(position, <range>),无论指定的措辞和方式是什么。中ArrayList,有removeRange(position, positionAfter),但不中List。
在许多列表类型中,从列表中删除一个区间的时间复杂度可能为 O(1),而逐个删除元素的时间复杂度为 O(n),因此无法实现这一能力。转换一般List为支持范围删除的类型也将是 O(n),并且会错过机会。
有没有办法以实现可以优化的List方式从一般值中删除一系列值?List
khe*_*ood 10
这List方法subList返回列表子范围的视图,由相同的数据支持:对子列表所做的更改反映在原始列表中。
因此,您可以使用subList和clear从可变列表中删除元素块:
>>> List<Integer> values = new ArrayList<>(List.of(10,20,30,40,50,60));
values ==> [10, 20, 30, 40, 50, 60]
>>> values.subList(3,5).clear()
>>> values
values ==> [10, 20, 30, 60]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
115 次 |
| 最近记录: |