简述 List<String> list1= new ArrayList<String>();和 List list2 =new ArrayList();区别及 <String>的作用。
时间: 2024-01-01 14:21:40 浏览: 126
简述Java List去重五种方法
5星 · 资源好评率100%
List<String> list1= new ArrayList<String>()和List list2 =new ArrayList()的区别在于前者使用了泛型,指定了List中元素的类型为String,而后者没有指定,可以存储任意类型的元素。使用泛型可以提高代码的可读性和安全性,避免了类型转换错误的问题。
在高并发100万请求的情况下,两者的效率差别不大,但是使用泛型可以避免类型转换的开销,略微更加高效。
在第二个引用中,List<TreeNode<Integer>> list=new LinkedList<>()定义了一个泛型为TreeNode<Integer>的LinkedList,list.poll()方法返回并移除列表的头部(第一个元素),如果列表为空则返回null。如果在调用list.poll()时列表为空,会抛出NoSuchElementException异常。因此,需要在调用list.poll()之前先判断列表是否为空。
```java
List<TreeNode<Integer>> list = new LinkedList<>();
// 添加元素
if (!list.isEmpty()) {
TreeNode<Integer> node = list.poll();
// 处理节点
}
```
阅读全文