如何将我的main方法中的ArrayList对象传递给另一个类中的方法(然后按特定属性进行排序)

时间:2018-03-18 22:20:08

标签: java class arraylist parameter-passing

这是我的主要方法

public static void main(String[] args)
    {
        ArrayList<TutorialWebsite> tutorial = new ArrayList<>();

        File tutorialsFile = null;
        Scanner infile = null;

        try {
            tutorialsFile = new File("Tutorials.txt");
            infile = new Scanner(tutorialsFile);

        }catch(FileNotFoundException e){
            e.printStackTrace();
        }

        while(infile.hasNext()){
            TutorialWebsite newTut = new TutorialWebsite();

            newTut.setLanguageName(infile.nextLine());
            newTut.setWebsiteDescription(infile.nextLine());
            newTut.setWebsiteUrl(infile.nextLine());

            tutorial.add(newTut);
        }

我想做的是在完全加载之后将教程发送到位于TutorialWebsite类中的此方法

public void doInsertionSort(ArrayList<TutorialWebsite> input){
        int i, j;
        String iKey, jKey;

        for (i = 1; i < input.size(); i++){
            iKey = input.get(i).getLanguageName();
            j = i-1;
            while (i >= 0) {
                jKey = input.get(j).getLanguageName();
                if(iKey.compareTo(jKey) > 0){
                        break;
                }
                input.set(i, input.get(i+1));
                i++;
            }
            iKey = input.get(i+1).getLanguageName();
        }
    }

我尝试过doInsertionSort(教程);但我只是得到一个&#34;找不到符号&#34; error和tutorial.doInsertionSort();和同样的错误。我真的不确定我会怎样传递它。这是我第一次使用ArrayLists(更不用说ArrayLists的对象)了,我找不到答案。

1 个答案:

答案 0 :(得分:0)

有两种可能性:

  1. doInsertionSort static方法,并使用TutorialWebsite.doInsertionSort(tutorial);进行调用。

  2. 创建TutorialWebsite对象并调用方法TutorialWebsite tw = new TutorialWebsite(...); tw.doInsertionSort(tutorial);