gpt4 book ai didi

java - java中bean对象列表按字母升序排序

转载 作者:行者123 更新时间:2023-12-01 16:52:58 26 4
gpt4 key购买 nike

下面是 bean 类:

public class bean  {
private String Name;

public String getName() {
return Name;
}

public void setName(String name) {
Name = name;
}



@Override
public String toString() {
return "bean [Name=" + Name + "]";
}
}

下面是我的java类,我试图按升序对bean列表进行排序(我的意思是字母顺序):

 public class Test{
public static void main(String[] args) {
bean b1 = new bean();
bean b2 = new bean();
bean b3 = new bean();
List<bean> beanList = new ArrayList<bean>();
b1.setName("b");
b2.setName("a");
b3.setName("Z");
beanList.add(b1);
beanList.add(b2);
beanList.add(b3);

}
}

我无法实现像a、b、z那样按字母顺序对bean值进行排序。谁能建议一下

最佳答案

您排序了 2 次,这超出了您的需要

第一个测试不需要实现类似的...

public class Test  {
public static void main(String[] args) {
Bean b1 = new Bean();
Bean b2 = new Bean();
Bean b3 = new Bean();
List<Bean> beanList = new ArrayList<Bean>();
b1.setName("b");
b2.setName("a");
b3.setName("Z");
beanList.add(b1);
beanList.add(b2);
beanList.add(b3);

Collections.sort(beanList);
System.out.println("finally " + beanList);
}
}

bean 类应该比较字符串,因为这是排序标准

public class Bean implements Comparable<Bean> {
private String Name;

public String getName() {
return Name;
}

public void setName(String name) {
Name = name;
}

@Override
public String toString() {
return "bean [Name=" + Name + "]";
}

@Override
public int compareTo(Bean o) {
return o.getName().compareTo(this.getName());
}
}
<小时/>

编辑:

您肯定可以向 bean 类添加多个字段,例如:姓氏,或者您可以使用匿名比较器并根据您自己的条件进行排序

姓氏示例:

public class Bean implements Comparable<Bean> {
private String name;
private String lastName;

public String getLastName() {
return lastName;
}

public void setLastName(String lastName) {
this.lastName = lastName;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

@Override
public String toString() {
return "Bean [name=" + name + ", lastName=" + lastName + "]";
}

@Override
public int compareTo(Bean o) {
return this.getName().compareTo(o.getName());
}
}

关于java - java中bean对象列表按字母升序排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36408365/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com