【问题标题】:how to convert integer array into arraylist and linklist? [duplicate]如何将整数数组转换为arraylist和linklist? [复制]
【发布时间】:2018-05-24 10:10:25
【问题描述】:

大家好我是java初学者我想在集合框架中将整数数组转换为arraylist和linkedlist。我试过但它显示一个错误。任何人都可以解决这个问题问题?提前谢谢....

package com.pac.work;

import java.util.Arrays;

public class checkarraytoarraylist {

    public static void main(String[] args)
    {
        int[] a={10,25,47,85};
        List<Integer> al=new ArrayList<Integer>(Arrays.asList(a));
        System.out.println(al);
        List<Integer> a2=new LinkedList<Integer>(Arrays.asList(a));
        System.out.println(a2);
    }

}

【问题讨论】:

  • 显示“一个错误”,您能否更具体地了解该部分?
  • java 8 ArrayList list = Arrays.stream(a).boxed().collect(Collectors.toCollection(ArrayList::new)); LinkedList list2 = Arrays.stream(a).boxed().collect(Collectors.toCollection(LinkedList::new));

标签: java arraylist collections linked-list


【解决方案1】:

你只能使用 Arrays.asList(a);关于班级类型。在你的情况下整数。

所以它看起来像这样:

 Integer[] a={10,25,47,85};
    List<Integer> al=Arrays.asList(a);
    System.out.println(al);
    List<Integer> a2=Arrays.asList(a);
    System.out.println(a2);

如果不可能有一个 Integer[] 数组,您可以从 int[] 数组到 Integer[] 然后使用 Arrays.asList();

【讨论】:

    【解决方案2】:

    如果您使用的是 Java 8,则可以使用 Streams。

    List&lt;Integer&gt; al= Arrays.stream(a).boxed().collect(Collectors.toList());

    如果不是,您将不得不循环并添加它们。

    List<Integer> al = new ArrayList<Integer>();
    for (int i : a)
    {
    al .add(a);
    }
    

    【讨论】:

      【解决方案3】:

      你可以试试这个

      Integer[] a={10,25,47,85};
      List<Integer> al= new ArrayList<Integer>();
      System.out.println(al);
      List<Integer> a2=new LinkedList<Integer>(Arrays.asList(a));
      System.out.println(a2);
      

      【讨论】:

        【解决方案4】:

        我认为没有捷径可走。你所要做的就是遍历数组的每一个元素并添加到一个列表中,你可以使用库,其中一个流行的是番石榴:-https://github.com/google/guava

        import java.util.ArrayList;
        import java.util.Arrays;
        import java.util.LinkedList;
        import java.util.List;
        
        public class checkarraytoarraylist {
        
            public static void main(String[] args)
            {
                int[] a={10,25,47,85};
        
                List<Integer> al=new ArrayList<Integer>();
                for(int item : a) {
                    al.add(item);
                }
                System.out.println(al);
            }
        
        }
        

        【讨论】:

        • 感谢您的宝贵回答..
        猜你喜欢
        • 2012-10-17
        • 1970-01-01
        • 2020-02-06
        • 2011-01-01
        • 2013-04-03
        • 2013-03-10
        • 1970-01-01
        • 2012-04-06
        • 2011-12-04
        相关资源
        最近更新 更多