我已经使用比较器对列表进行排序,但我的列表没有排序,m pgm也没有错误 [英] I have used comparator to sort the list but my list is not getting sorted also there's no error in m pgm
问题描述
我已经使用比较器对列表进行排序,但是我的列表没有排序,我的pgm也没有错误。
在此先感谢。
我尝试过:
import java .util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.Iterator;
import java.util.List;
import java.util.Scanner;
import java.util.TreeSet;
class StringLengthComparator实现Comparator< string>
{
@Override
public int compare(String a1,String a2){
int s1 = a1.length();
int s2 = a2.length();
if(s1> s2)
{
返回1;
}
else if(s1< s2)
{
返回-1;
}
返回0;
}
}
公共类sundayskip {
public static void main(String args [])
{
List< string> str = new ArrayList< string>();
str.add(xbs);
str.add(esd);
str.add(aas);
str.add(bsv);
Collections.sort(str,new StringLengthComparator());
for(String i:str)
{
System.out.println(i);
}
}
}
- Java有
String
s,而不是string
s。- 您传递了四个不同的
String
s 具有相同的长度到'长度比较器'。 : - )
如下输入,例如
str.add( xbs);
str.add( esd);
str.add( aaaa);
str.add( aas);
str.add( zz);
str.add( bsv);
输出是
zz
xbs
esd
aas
bsv
aaaa
I have used comparator to sort the list but my list is not getting sorted also there's no error in my pgm.
Thanks in advance.
What I have tried:
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.Iterator;
import java.util.List;
import java.util.Scanner;
import java.util.TreeSet;
class StringLengthComparator implements Comparator<string>
{
@Override
public int compare(String a1, String a2) {
int s1=a1.length();
int s2=a2.length();
if(s1>s2)
{
return 1;
}
else if(s1<s2)
{
return -1;
}
return 0;
}
}
public class sundayskip {
public static void main(String args[])
{
List<string> str=new ArrayList<string>();
str.add("xbs");
str.add("esd");
str.add("aas");
str.add("bsv");
Collections.sort(str, new StringLengthComparator());
for(String i:str)
{
System.out.println(i);
}
}
}
- Java has
String
s, notstring
s.- you are passing four different
String
s having the same length to a 'Length Comparator'. :-)
with the following input, for instance
str.add("xbs"); str.add("esd"); str.add("aaaa"); str.add("aas"); str.add("zz"); str.add("bsv");
the output is
zz xbs esd aas bsv aaaa
这篇关于我已经使用比较器对列表进行排序,但我的列表没有排序,m pgm也没有错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!