java 如何在ArrayList中将元素加倍[duplicate]

a64a0gku  于 2022-12-02  发布在  Java
关注(0)|答案(1)|浏览(134)
    • 此问题在此处已有答案**:

How duplicate each element of ArrayList n times?(2个答案)
2小时前关门。
如何创建一个包含原始数组列表的两个元素的新数组列表?
例如:doubleList([1, 2, 3]) → [1, 1, 2, 2, 3, 3] doubleList([]) → [] doubleList([1, 2]) → [1, 1, 2, 2]

public ArrayList <Integer> doubleList(ArrayList <Integer> nums) {
  ArrayList <Integer> dub = new ArrayList <Integer>(nums.size() * 2);
   for(int i = 0; i < dub.size() - 1; i++){
    if(i / 2 != 0){
      dub.add(i, nums.get(i)); 
    }
    if(i / 2 == 0){
      dub.add(i, nums.get(i-1));
    }
   }
   return dub; 
}

我得到的唯一结果是:[]

roejwanj

roejwanj1#

试试这个

public <T> List<T> doubleList(List<T> list) {
    return list.stream().flatMap(e -> Stream.of(e, e)).toList();
}

List<Integer> list = List.of(1, 2, 3);
System.out.println(doubleList(list));

输出:

[1, 1, 2, 2, 3, 3]

相关问题