我的方法公共空sortSurname()
应该按字母顺序排序所有对象的姓氏,这些对象包含在一个arraylistArrayList
中
package main;
public class Contact {
private String name, surname, cellphone;
private Genere genere;
public Contact(String name, String surname, String cellphone){
this.name=name;
this.surname=surname;
this.cellphone=cellphone;
}
public String getSurname() {
return surname;
}
}
Rubrica类
public class Rubrica {
private ArrayList<Contact> contacts;
public Rubrica(){
contacts = new ArrayList<>();
}
public void sortSurname(){
contacts.sort((Contact c1, Contact c2) -> {
c1.getSurname().compareTo(c2.getSurname());
});
}
public void addContact(Contact c1){
contacts.add(c1);
}
}
主要的
package main;
public class Main {
public static void main(String[] args) {
Contact c1 = new Contact("Paolo", "Groviera", "338");
Contact c2 = new Contact("Paolo", "Groviera", "234");
Contact c3 = new Contact("Lampa", "Dino", "234");
Contact c4 = new Contact("Lampa", "Dina", "0234");
Rubrica r = new Rubrica();
r.addContact(c1);
r.addContact(c2);
r.addContact(c3);
r.addContact(c4);
r.sortSurname();
System.out.println(r);
}
}
谢谢你的帮助。
摆脱{}
public void sortSurname(){
contacts.sort((Contact c1, Contact c2) ->
c1.getSurname().compareTo(c2.getSurname());
);
}
问题是{}
,它是一个块,需要返回。这样试试:
contacts.sort((Contact c1, Contact c2) -> {
return c1.getSurname().compareTo(c2.getSurname());
});
或者忘记{}
,就这么做吧
contacts.sort((Contact c1, Contact c2) ->
c1.getSurname().compareTo(c2.getSurname()));
或者使用比较器接口并传递方法引用。
contacts.sort(Comparator.comparing(Contact::getSurname));
问题内容: 有人可以给我看一个简单的示例,如何使用新的lambda语法在Java 8中按字母顺序排序。 问题答案: 对于字符串,这将工作
当添加到JTable(包含表单元格中不同的JCombo Box)中的排序器/autoRowSorter用列标题排序时,Jcomo Box不会用相应的行排序。 单击JCombo框可以更改它在显示组合框的模型值而不是视图值(与行相关的值)中结束的数据。 在互联网上找到的例子,用同样的方法来说明问题。我刚刚添加了setAutoCreateRowSorter(真) 代码参考: 如何在Swing中的JTab
问题内容: 我有一个包含Quote对象的数组列表。我希望能够按名称,更改和更改百分比的字母顺序进行排序。如何排序我的数组列表? 问题答案: 创建一个合适的对象,它将根据你所需的条件比较两个项目。然后在你的上使用 。 如果以后要按其他条件排序,请使用不同的再次调用。
问题内容: 我正在为我的通讯录应用程序实现排序功能。 我想排序一个。是一个包含四个字段的类:姓名,家庭电话,手机号码和地址。我想继续。 如何编写自定义排序功能来做到这一点? 问题答案: 这是有关订购对象的教程: Java教程-集合-对象排序 尽管我会举一些例子,但我还是建议你阅读它。 有多种排序方式。如果要定义自然的(默认)排序,则需要让实现。假设你想默认在上进行排序name,然后执行(为简单起见
我正在使用java lambda对列表进行排序。 我怎样才能反向排序呢?
问题内容: 在我正在使用的代码下面,可以正常工作并输出名称,但不能使用sort方法。我期望“ Collections.sort(nameFromText);” 按名字的字母顺序对ArrayList进行排序。 我究竟做错了什么? 问题答案: 方法期望要排序的列表元素具有可比性。元素类型应该实现接口,或者您应该使用带有通用实例的重载方法。 在下面的代码中,您不满足上述两个条件。您的类既没有实现,也没有