我需要将 Array 转换为 ArrayList 帮助,不知道该怎么做? [复制]

Posted

技术标签:

【中文标题】我需要将 Array 转换为 ArrayList 帮助,不知道该怎么做? [复制]【英文标题】:I need to convert an Array to an ArrayList help please, not sure how to go about it? [duplicate] 【发布时间】:2015-02-16 08:57:42 【问题描述】:

我需要将数组转换为数组列表,但不确定如何执行此操作,我已经查看了此处的其他文章,但似乎无法让它工作,如果有人可以为我提供一些指针作为以及如何将其转换为一个很棒的数组列表。

 import java.util.*;

 public class SearchExamResults
 
    public static void main(String[] args)
    
        Result[] resultsArray = new Result[20];

        input(resultsArray);
        sortByMark(resultsArray);
        output(resultsArray);
    

    public static void input(Result[] array)
    
        Scanner kybd = new Scanner(System.in);
        for (int i = 0; i < array.length; i++)
        
            System.out.println("Candidate " + (i + 1));
            System.out.print("\tName: ");
            String name = kybd.nextLine();
            System.out.print("\tMark: ");
            int mark = kybd.nextInt();
            kybd.nextLine();            //to flush the kybd buffer

            array[i] = new Result(name, mark);
        
    

    public static void sortByMark(Result[] array)
    
        //selection sort
        for (int pass = 1; pass < array.length; pass++)
        
            int lastElement = array.length - pass;
            int largePos = findLargestMark(array, array.length - pass);
            if (largePos != array.length - pass)
            
                Result temp = array[largePos];
                array[largePos] = array[lastElement];
                array[lastElement] = temp;
            
            //this is for testing purposes only
            //output(arr); 
        
    

    public static int findLargestMark(Result[] array, int last)
    
        int largestPos = 0;
        for (int i = 1; i <= last; i++)
        
            if (array[i].getMark() > array[largestPos].getMark())
            
                largestPos = i;
            
        
        return largestPos;
    

    public static void output(Result[] array)
    
        System.out.println("\nExam results");
        System.out.println("============");

        for (int i = 0; i < array.length; i++)
        
            System.out.printf("\t%-20s\t%d\n", array[i].getName(), array[i].getMark());
        
    
 

【问题讨论】:

到目前为止您做了哪些研究/尝试了哪些事情? 所有这些代码的意义何在?请仅向我们展示相关部分,人们将更有可能提供帮助。 我尝试使用***.com/questions/9811261/… 的技术,但无法让它发挥作用 【参考方案1】:

您可以使用Arrays.asList(T...) 或者您可以通过像这样遍历所有元素来自己做:

ArrayList<Result> list = new ArrayList<Result>();
for(Result r : resultsArray) 
    list.add(r);

PS:您可以使用搜索功能查看之前是否有人问过。

【讨论】:

以上是关于我需要将 Array 转换为 ArrayList 帮助,不知道该怎么做? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何将 ArrayList 转换为 Array [重复]

将 JSONarray 转换为 ArrayList

将 ArrayList 转换为 Array 抛出 java.lang.ArrayStoreException

在 JSP 中从 Object ArrayList 转换为 Object Array

将 Strings.xml 中的 String-Array 更改为 ArrayList

[转]Java中怎样把数组转换为ArrayList