Java 对文件中的数据进行排序

Java 对文件中的数据进行排序,java,file,Java,File,首先:对不起我的英语水平。我努力学得更好。 所以,我的问题是: 我有一个txt文件,文件中的数据如下: Hvorostovsky 8(歌曲数量,我不知道确切数字,仅举个例子)俄罗斯 柴可夫斯基9号(此处相同)俄罗斯 我需要按歌曲的数量从大到小或从小到大排序(没关系) 我做了什么: public void onMouseClick(MouseEvent mouseEvent) { char separator = '.'; ArrayList<String&g

首先:对不起我的英语水平。我努力学得更好。 所以,我的问题是: 我有一个txt文件,文件中的数据如下:

  • Hvorostovsky 8(歌曲数量,我不知道确切数字,仅举个例子)俄罗斯
  • 柴可夫斯基9号(此处相同)俄罗斯
  • 我需要按歌曲的数量从大到小或从小到大排序(没关系) 我做了什么:

    public void onMouseClick(MouseEvent mouseEvent) {
            char separator = '.';
            ArrayList<String> listOfLines = readFileInArray();
            for(String s: listOfLines){
                char maxValue = '0';
                for(int i = 0; i < s.length(); i++){
                    if(s.charAt(i) == separator){
                        if(Character.getNumericValue(maxValue) < s.charAt(i + 1)){
                            maxValue = s.charAt(i + 1);
                            System.out.println(maxValue);
                        }
                    }
                }
            }
        }
    
    
    鼠标点击时的公共空白(MouseEvent MouseEvent){ 字符分隔符=''; ArrayList listOfLines=readFileInArray(); for(字符串s:listOfLines){ char maxValue='0'; 对于(int i=0;i
    我有一个ArrayList,其中包含文件中的数据,我知道如何查找文件中的歌曲数量,但我不知道如何对它们进行排序。

    根据输入的描述,您可以执行以下操作:

     List<String> lines = Arrays.asList("Chaikovsky.9 Russia", "Hvorostovsky.8 Russia", "OtherName.21 Russia");
    
     List<String> sortedLines = lines.stream()
             .sorted((s1, s2) -> {
                int l1 = s1.indexOf('.') + 1;
                int l2 = s2.indexOf('.') + 1;
                int n1 = Integer.parseInt(s1.substring(l1, s1.indexOf(' ', l1)));
                int n2 = Integer.parseInt(s2.substring(l2, s2.indexOf(' ', l2)));
                return Integer.compare(n1, n2); 
             })
             .collect(Collectors.toList());
    

    如果输入是“Name 8 Country”,为什么要按“.”分割?@MostNeededRabbit我忘了。我添加了“.”符号,帮助我查找歌曲数量。像这样:柴可夫斯基。8俄罗斯。我做了一个循环,检查符号是否等于“.”然后我打印符号[I+1],这总是歌曲数。所以我不知道你要排序的数据是柴可夫斯基。8俄罗斯还是柴可夫斯基8俄罗斯还是柴可夫斯基。8.俄罗斯总是一位数吗?没关系。符号“.”帮助我查找歌曲的数量。我知道我可以在弦乐课上用“”来分开,但这对我来说要困难得多。谢谢。祝你有一个愉快的一天:)嘿,再次:)我怎样才能比较像字符串这样的数据和你的方法?我需要按字母顺序对国家进行排序。下面是我的代码:我现在在文件中的数据:Chaikovsky.9-RussiaList sortedLines=lines.stream().sorted((s1,s2)->{int l1=s1.indexOf('-')+1;int l2=s2.indexOf('-')+1;返回s1.substring(l1.comparetodignorecase(s2.substring(l2));}.collector.toList())@Staaankey看到我上面的评论^^返回行中出现一个错误,消息是“只能在包含接口类时调用静态方法”。对不起,我打扰你了。
    [Hvorostovsky.8 Russia, Chaikovsky.9 Russia, OtherName.21 Russia]