import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;
/**
* 类 Test 的实现描述:TODO 类实现描述
* @author spring
* Jul 16, 20129:46:14 AM
*/
public class Test {
/**
* @author spring
* Jul 16, 20129:46:14 AM
* @param args
* @throws Exception
*/
public static void main(String[] args) {
List<String> list = new ArrayList<String>();
list.add("a");
list.add("b");
List<String> subList = list.subList(0,1);
list.add("c");
System.out.println(subList);
}
在同个方法中,如果对一个List使用过subList截取后,不能再对原List进行修改,否则会有运行时异常。如上面的情况,由于第6行使用过subList,则当第20行再对原list进行修改后,会导致28行出错。
分享到:
相关推荐
在Java编程中,`subList`方法是`ArrayList`、`LinkedList`等集合类的一个重要功能,它允许我们从原始列表中创建一个子列表,这个子列表是原列表的一个视图,而不是复制。当我们调用`subList`时,对子列表的操作会...
当多个线程同时对`List`进行修改时,可能会抛出`ConcurrentModificationException`异常。为了解决这个问题,可以使用`CopyOnWriteArrayList`或者手动同步代码块。 ### 总结 本篇介绍的是Java中List的基本操作以及...
例如,如果你在初始化时不确定具体使用哪种List实现,可以先声明一个List类型的引用,后期根据需求再决定填充哪种实现。 此外,List接口还有其他一些方法,如`contains(Object o)`用于判断List是否包含特定元素,`...
在Java编程语言中,List接口是集合框架的重要组成部分,它代表了一个有序的元素序列,允许重复元素,并且提供了索引访问。"javalist.zip_list集合 java"这个标题暗示我们将探讨Java中的List集合以及它的应用。描述中...
在Java编程语言中,`List`接口是集合框架的重要组成部分,它提供了有序元素集合的实现,并允许重复元素的存在。本文将详细解释`List`接口中的常用方法,帮助开发者更好地理解和运用这些功能强大的工具。 #### 1. ...
- `List`接口中的方法`add`, `remove`, `set`等操作可能会影响迭代器,因此在遍历列表时应避免修改列表,除非使用`Iterator`的`remove()`方法。 - `List`接口还提供了一些其他的方法,如`contains()`, `indexOf()`, ...
`List`接口继承自`Collection`接口,它提供了额外的功能,比如按照索引访问元素、保持元素的顺序以及允许重复元素。在本教程中,我们将深入探讨如何创建和使用`Java List`。 首先,我们需要导入`java.util.List`和`...
在Java编程领域,List接口是集合框架的重要组成部分,它提供了有序的元素存储,允许元素重复,并且保持插入顺序。这份资料“10个Java经典的List面试题!”将深入探讨List接口及其实现类的关键知识点,帮助求职者或...
在 Java 编程中,遍历 List 集合是一项常见的任务,特别是在处理...这些方法使 List 成为处理有序数据的强大工具,可以方便地进行插入、删除、查找和修改等操作。在实际编程中,根据需求选择合适的遍历方法至关重要。
7. **切片操作**:允许我们获取列表的一部分,例如,`sublist = my_list[1:3]`将获取列表的第二和第三个元素。 8. **列表函数和方法**:Python提供了许多内置函数和列表方法,如`len()`计算长度,`count()`计算元素...
new_nested_list = [[item + 1 for item in sublist] for sublist in nested_list] ``` 6. **其他操作**:嵌套列表支持所有标准列表操作,如`append()`, `extend()`, `insert()`, `remove()`等,但需要注意的是,...
遍历嵌套列表需使用嵌套循环,如`for sublist in nested_list:`,再对子列表进行循环。 9. **列表方法** Python提供许多其他列表方法,如`extend()`用于合并列表,`count()`计算元素出现次数,`sort()`对列表排序...
使用`Arrays.asList()`方法将数组转换为集合时需要注意,这种方法返回的是一个固定大小的列表,并且不允许修改集合(比如添加或删除元素)。如果尝试修改该集合,将会抛出`UnsupportedOperationException`。 将集合...
6. **List与Set的区别**:List允许重复元素并保持插入顺序,Set不允许重复元素,不保证元素顺序。 7. **Map接口**:Map不是Collection的子接口,而是独立的接口,它定义了存储键值对的方法。HashMap、TreeMap、...
sublist = original_list[1:3] # 获取列表的第二个和第三个元素 copied_list = original_list.copy() # 复制整个列表 ``` 7. **列表解析和生成器表达式** 列表解析和生成器表达式是列表推导式的扩展,它们允许...
ArrayList的迭代器在遍历过程中,如果List集合被修改,迭代器会抛出`ConcurrentModificationException`异常,以防止数据不一致。 4. 性能比较 相比于LinkedList,ArrayList在元素的随机访问和获取上有优势,因为它...
- **subList(int fromIndex, int toIndex)**: 返回一个新列表,包含原列表从 `fromIndex`(包括)到 `toIndex`(不包括)的元素。 此外,List 还有一个特殊的迭代器——**ListIterator**,它是 Iterator 的子接口。...
Java List接口是Java集合框架的重要组成部分,它代表了一个有序的元素集合,允许元素重复,并且提供了索引访问。本文将详细解析Java List接口及其常见实现类ArrayList、LinkedList和Vector的用法。 首先,List接口...
使用双引号`"`可以保护内部的变量和命令不受置换的影响,而花括号`{}`则完全保护其内容不受任何置换的影响。例如: ```tcl set var "world" puts "$var is fine" ;# 输出 "world is fine" puts "{$var is fine}...