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