0

我有一个任务,我需要从文本文件中读取文件并将行添加到列表中,按长度排序并打印出来。我的问题是 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);
   }

}

4

1 回答 1

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;
            }
        });

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

于 2013-09-22T11:01:57.930 回答