标签: collections

差异<?超级T>和<?在Java中扩展T>

List<? super T>和之间有什么区别List<? extends T>

我曾经使用List<? extends T>,但它不允许我添加元素list.add(e),而List<? super T>它.

java generics collections

751
推荐指数
10
解决办法
21万
查看次数

如何在Java中创建一个新的List

我们创建一个Set:

Set myset = new HashSet()
Run Code Online (Sandbox Code Playgroud)

我们如何List在Java中创建?

java collections list

710
推荐指数
22
解决办法
183万
查看次数

如何通过构造初始化HashSet值?

我需要创建一个Set初始值.

Set<String> h = new HashSet<String>();
h.add("a");
h.add("b");
Run Code Online (Sandbox Code Playgroud)

有没有办法在一行代码中执行此操作?例如,它对最终的静态字段很有用.

java collections constructor initialization hashset

684
推荐指数
15
解决办法
75万
查看次数

如何在Java中将数组转换为Set

我想将数组转换为Java中的Set.有一些明显的方法可以做到这一点(即使用循环),但我想要一些更整洁的东西,如:

java.util.Arrays.asList(Object[] a);
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

java arrays collections set

674
推荐指数
11
解决办法
60万
查看次数

643
推荐指数
15
解决办法
58万
查看次数

如何在Java中将Map转换为List?

将a转换Map<key,value>为a 的最佳方法是List<value>什么?只是迭代所有值并将它们插入列表中或者我忽略了什么?

java collections list map

643
推荐指数
10
解决办法
68万
查看次数

将List转换为Java中的Set的最简单方法

在Java中将Lista 转换为a 的最简单方法是什么Set

java collections

601
推荐指数
13
解决办法
50万
查看次数

如何在Java中将List <Integer>转换为int []?

这类似于这个问题: 如何在Java中将int []转换为Integer []?

我是Java的新手.我怎么能转换List<Integer>int[]Java中?我很困惑,因为List.toArray()实际上返回一个Object[],可以强制转换为虚空Integer[]int[].

现在我正在使用循环来执行此操作:

int[] toIntArray(List<Integer> list){
  int[] ret = new int[list.size()];
  for(int i = 0;i < ret.length;i++)
    ret[i] = list.get(i);
  return ret;
}
Run Code Online (Sandbox Code Playgroud)

我相信有更好的方法可以做到这一点.

java arrays collections

545
推荐指数
11
解决办法
41万
查看次数

在Java中迭代列表的方法

对于Java语言有些新意,我试图让自己熟悉一个可能遍历列表(或者可能是其他集合)以及每个集合的优点或缺点的所有方法(或者至少是非病态方法).

给定一个List<E> list对象,我知道以下循环所有元素的方法:

基本 循环(当然,还有就是相当于while/ do while循环以及)

// Not recommended (see below)!
for (int i = 0; i < list.size(); i++) {
    E element = list.get(i);
    // 1 - can call methods of element
    // 2 - can use 'i' to make index-based calls to methods of list

    // ...
}
Run Code Online (Sandbox Code Playgroud)

注意:正如@a​​marseillan指出的那样,这种形式对于迭代Lists来说是一个糟糕的选择,因为该get方法的实际实现可能不如使用时那样有效Iterator.例如,LinkedList实现必须遍历i之前的所有元素以获得第i个元素.

在上面的例子中,List实现没有办法"保存它的位置"以使未来的迭代更有效.因为ArrayList它并不重要,因为复杂性/成本get是恒定时间(O(1)),而a LinkedList是它与列表的大小(O(n))成比例.

有关内置Collections实现的计算复杂性的更多信息,请查看此问题 …

java iteration collections loops

543
推荐指数
6
解决办法
87万
查看次数

如何将逗号分隔的String转换为ArrayList?

Java中是否有任何内置方法允许我们将逗号分隔的String转换为某个容器(例如数组,List或Vector)?或者我需要为此编写自定义代码?

String commaSeparated = "item1 , item2 , item3";
ArrayList<String> items = //method that converts above string into list??
Run Code Online (Sandbox Code Playgroud)

java string collections split

513
推荐指数
13
解决办法
87万
查看次数