从文本文件中读取并在之后对列表进行排序

时间:2013-09-22 10:42:19

标签: list sorting text-files

我有一个作业,我需要从文本文件中读取文件并将行添加到列表中,按长度排序并打印出来。我的问题是Coolections.sort()按字母顺序和长度对它进行排序,我只需要按长度排序,这是我目前的代码。

import java.util.*;
import java.io.*;
public class Question3
{
   public static void main(String [] args) throws IOException
   {
      Scanner input = new Scanner(System.in);
      String path = input.nextLine();
      Scanner scanner = new Scanner(new File(path));
      List<String> lines = new ArrayList<String>();
      while(scanner.hasNext())
      {
         lines.add(scanner.next());
      }
       Collections.sort(lines);
      System.out.println(lines);
   }

}

1 个答案:

答案 0 :(得分:0)

Collections.sort(strings, new Comparator<String>() {
            @Override
            public int compare(String str1, String str2) {
                if(str1.length() > str2.length())
                    return 1;
                else if(str1.length() < str2.length())
                    return -1;
                else
                    return 0;
            }
        });

这将根据字符串的长度按升序对字符串进行排序,请根据需要清理上述代码。