如何在java中转换arraylist



是否可以将java中的整数arraylist转换为双arraylist。例如,我有;

ArrayList<Integer> array  = new ArrayList<Integer>();

我如何使用它的一个例子是;

System.out.println(array.get(2));

但在打印出来的过程中,我想把它转换成双色,这可能吗?

在Java 8中,您可以简单地:

double[] arr = yourList.stream().mapToDouble(i -> i).toArray();
// now you can new ArrayList<Double>(Arrays.asList(arr))

如果您使用早期版本的Java,您可以迭代arraylist并手动构建新的arraylist。

如果您必须使用Java 6/7,一个简单的for循环就可以了:

List<Integer> ints = Arrays.asList(1, 2, 3, 4);
List<Double> doubles = new ArrayList<Double>(ints.size());
for (Integer i : ints) {
    doubles.add(Double.valueOf(i));
}

或者,如果您只是想打印它,只需将其分配或强制转换为double:

double d = ints.get(0);

您可以键入cast-int来加倍:

(double)array.get(2)

最新更新