java中TreeSet的排序问题
TreeSet中有1,2,3,4,5,6,7,8,9,10。TreeSetset=newTreeSet(newComparator(){.......});请问那个匿名内...
TreeSet中有1,2,3,4,5,6,7,8,9,10。TreeSet set=new TreeSet(new Comparator(){.......});请问那个匿名内部类怎么写,才能让TreeSet中的数字:奇数在前,偶数在后,奇数升序,偶数降序。
展开
2个回答
展开全部
import java.util.Comparator;
import java.util.TreeSet;
public class MyDemo {
public static void main(String [] a){
TreeSet set=new TreeSet(
new Comparator(){
int r=0;
public int compare(Object a, Object b) {
int n1=Integer.parseInt(a.toString());
int n2=Integer.parseInt(b.toString());
if(n1%2!=n2%2){
r=(n2%2-n1%2);
}else if(n1%2==1){
if(n1>n2) r=1;
else if(n1<n2) r=-1;
}else if(n1%2==0){
if(n1>n2) r=-1;
else if(n1<n2) r=1;
}
return r;
}
}
);
set.add("1");
set.add("2");
set.add("3");
set.add("4");
set.add("5");
set.add("6");
set.add("7");
set.add("8");
set.add("9");
set.add("10");
System.out.println(set);
}
}
import java.util.TreeSet;
public class MyDemo {
public static void main(String [] a){
TreeSet set=new TreeSet(
new Comparator(){
int r=0;
public int compare(Object a, Object b) {
int n1=Integer.parseInt(a.toString());
int n2=Integer.parseInt(b.toString());
if(n1%2!=n2%2){
r=(n2%2-n1%2);
}else if(n1%2==1){
if(n1>n2) r=1;
else if(n1<n2) r=-1;
}else if(n1%2==0){
if(n1>n2) r=-1;
else if(n1<n2) r=1;
}
return r;
}
}
);
set.add("1");
set.add("2");
set.add("3");
set.add("4");
set.add("5");
set.add("6");
set.add("7");
set.add("8");
set.add("9");
set.add("10");
System.out.println(set);
}
}
参考资料: 希望对你有帮助!
展开全部
import
java.util.Comparator;
import
java.util.TreeSet;
public
class
MyDemo
{
public
static
void
main(String
[]
a){
TreeSet
set=new
TreeSet(
new
Comparator(){
int
r=0;
public
int
compare(Object
a,
Object
b)
{
int
n1=Integer.parseInt(a.toString());
int
n2=Integer.parseInt(b.toString());
if(n1%2!=n2%2){
r=(n2%2-n1%2);
}else
if(n1%2==1){
if(n1>n2)
r=1;
else
if(n1<n2)
r=-1;
}else
if(n1%2==0){
if(n1>n2)
r=-1;
else
if(n1<n2)
r=1;
}
return
r;
}
}
);
set.add("1");
set.add("2");
set.add("3");
set.add("4");
set.add("5");
set.add("6");
set.add("7");
set.add("8");
set.add("9");
set.add("10");
System.out.println(set);
}
}
java.util.Comparator;
import
java.util.TreeSet;
public
class
MyDemo
{
public
static
void
main(String
[]
a){
TreeSet
set=new
TreeSet(
new
Comparator(){
int
r=0;
public
int
compare(Object
a,
Object
b)
{
int
n1=Integer.parseInt(a.toString());
int
n2=Integer.parseInt(b.toString());
if(n1%2!=n2%2){
r=(n2%2-n1%2);
}else
if(n1%2==1){
if(n1>n2)
r=1;
else
if(n1<n2)
r=-1;
}else
if(n1%2==0){
if(n1>n2)
r=-1;
else
if(n1<n2)
r=1;
}
return
r;
}
}
);
set.add("1");
set.add("2");
set.add("3");
set.add("4");
set.add("5");
set.add("6");
set.add("7");
set.add("8");
set.add("9");
set.add("10");
System.out.println(set);
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询