相关疑难解决方法(0)

使用自定义排序顺序对对象的ArrayList进行排序

我希望为我的地址簿应用程序实现一个排序功能.

我想要排序ArrayList<Contact> contactArray.Contact是一个包含四个字段的类:姓名,家庭电话号码,手机号码和地址.我想要排序name.

如何编写自定义排序功能来执行此操作?

java sorting collections arraylist

114
推荐指数
4
解决办法
17万
查看次数

何时使用Comparable和Comparator

我有一个对象列表,我需要在一个字段上排序,比如分数.在没有多想的情况下,我编写了一个实现Comparator的新类,它可以执行任务并且可以正常运行.

现在回过头来看,我想知道我是否应该让我的类实现Comparable,而不是创建一个实现Comparator的新类.分数是对象将被订购的唯一字段.

  1. 我做过什么可以接受的做法?

  2. 是正确的方法"首先让类实现Comparable(对于自然顺序),如果需要替代字段比较,那么创建一个实现Comparator的新类"?

  3. 如果上面的(2)为真,那么它是否意味着只有在具有类实现Comparable之后才应该实现Comparator?(假设我拥有原始课程).

java comparable comparator

106
推荐指数
10
解决办法
11万
查看次数

对对象集合进行排序

如果我有一个简单的字符串列表:

List<String> stringList = new ArrayList<String>();
Run Code Online (Sandbox Code Playgroud)

我可以用它来分类:

Collections.sort(stringList);
Run Code Online (Sandbox Code Playgroud)

但是假设我有一个Person类:

public class Person
{
   private String name;
   private Integer age;
   private String country;
}
Run Code Online (Sandbox Code Playgroud)

并列出一个:

List<Person> personList = new ArrayList<Person>();
Run Code Online (Sandbox Code Playgroud)

我希望有时按名字排序,有时按年龄,有时按国家排序.

最简单的方法是什么?

我知道我可以实现Comparable接口,但这似乎限制我按一个特定属性对其进行排序.

java sorting collections

60
推荐指数
5
解决办法
7万
查看次数

按值按字母顺序排序HashMap

我有一个HashMap<Object, Student>对象是学生的ID,而学生是学生的对象.

我如何通过学生名称来求助HashMap student->getName()

java sorting collections

7
推荐指数
2
解决办法
3万
查看次数

Java:SortedMap,TreeMap,Comparable?如何使用?

我有一个对象列表,我需要根据其中一个字段的属性进行排序.我听说SortedMap和Comparators是最好的方法.

  1. 我是否对我正在排序的类实现Comparable,还是创建一个新类?
  2. 如何实例化SortedMap并传入Comparator?
  3. 排序如何工作?在插入新对象时它会自动对所有内容进行排序吗?

编辑: 这段代码给我一个错误:

private TreeMap<Ktr> collection = new TreeMap<Ktr>();
Run Code Online (Sandbox Code Playgroud)

(Ktr实施Comparator<Ktr>).Eclipse说它期待类似的东西TreeMap<K, V>,所以我提供的参数数量不正确.

java interface treemap comparator sortedmap

5
推荐指数
1
解决办法
4万
查看次数