栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何在Java中对对象数组进行排序?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何在Java中对对象数组进行排序?

你有两种方法可以使用Arrays实用程序类

实现一个Comparator并将数组与比较器一起传递给sort方法,该方法将其作为第二个参数。
在对象所属的类中实现Comparable接口,并将数组传递给仅采用一个参数的sort方法。


class Book implements Comparable<Book> {    public String name, id, author, publisher;    public Book(String name, String id, String author, String publisher) {        this.name = name;        this.id = id;        this.author = author;        this.publisher = publisher;    }    public String toString() {        return ("(" + name + ", " + id + ", " + author + ", " + publisher + ")");    }    @Override    public int compareTo(Book o) {        // usually toString should not be used,        // instead one of the attributes or more in a comparator chain        return toString().compareTo(o.toString());    }}@Testpublic void sortBooks() {    Book[] books = { new Book("foo", "1", "author1", "pub1"), new Book("bar", "2", "author2", "pub2")    };    // 1. sort using Comparable    Arrays.sort(books);    System.out.println(Arrays.asList(books));    // 2. sort using comparator: sort by id    Arrays.sort(books, new Comparator<Book>() {        @Override        public int compare(Book o1, Book o2) { return o1.id.compareTo(o2.id);        }    });    System.out.println(Arrays.asList(books));}

输出量

[(bar, 2, author2, pub2), (foo, 1, author1, pub1)][(foo, 1, author1, pub1), (bar, 2, author2, pub2)]


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/385726.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号