相关疑难解决方法(0)

什么时候课程应该是可比较的和/或比较者?

我见过同时实现ComparableComparator的类.这是什么意思?为什么我会使用一个而不是另一个?

java comparable comparator

134
推荐指数
8
解决办法
22万
查看次数

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

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

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

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

java sorting collections arraylist

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

Java Integer compareTo() - 为什么使用比较与减法?

我发现方法的java.lang.Integer实现compareTo如下:

public int compareTo(Integer anotherInteger) {
    int thisVal = this.value;
    int anotherVal = anotherInteger.value;
    return (thisVal<anotherVal ? -1 : (thisVal==anotherVal ? 0 : 1));
}
Run Code Online (Sandbox Code Playgroud)

问题是为什么使用比较而不是减法:

return thisVal - anotherVal;
Run Code Online (Sandbox Code Playgroud)

java optimization comparison integer overflow

78
推荐指数
3
解决办法
1万
查看次数

基于对象字段对ArrayList进行排序

可能重复:
对联系人的ArrayList进行排序

我正在存储DataNode对象ArrayList.该DataNode班有一个名为整型字段degree.我想以DataNode递增的顺序从nodeList 检索对象degree.我该怎么做.

List<DataNode> nodeList = new ArrayList<DataNode>();
Run Code Online (Sandbox Code Playgroud)

java

76
推荐指数
2
解决办法
12万
查看次数

对对象集合进行排序

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

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万
查看次数

我怎样才能按照我想要的方式对这个ArrayList进行排序?

这是一个ArrayList的简单排序程序:

ArrayList<String> list = new ArrayList<String>();

list.add("1_Update");
list.add("11_Add");
list.add("12_Delete");
list.add("2_Create");

Collections.sort(list);
for (String str : list) {
  System.out.println(str.toString());
}
Run Code Online (Sandbox Code Playgroud)

我期待这个程序的输出为:

1_Update
2_Create
11_Add
12_Delete
Run Code Online (Sandbox Code Playgroud)

但是当我运行这个程序时,我得到输出为:

11_Add
12_Delete
1_Update
2_Create
Run Code Online (Sandbox Code Playgroud)

为什么这样,如何让ArrayList按预期输出显示排序?

java sorting arraylist

36
推荐指数
3
解决办法
8万
查看次数

如何对对象的Arraylist进行排序

我有ArrayList,其中包含足球队(Team Team).团队有积分,我想按点数对它们进行排序.

 public class Team {
     private int points;
     private String name;

     public Team(String n)
     {
         name = n;
     }

     public int getPoints
     {
         return points;
     }

     public void addPoints(boolean win)
 {
            if (win==true)
            {
    points = points + 3;
            }

            else if (win==false)
            {
            points = points + 1;
            }

}
 //...
 }
Run Code Online (Sandbox Code Playgroud)

主类:

 List<Team> lteams = new ArrayList<Team>;

 lteams.add(new Team("FC Barcelona"));
 lteams.add(new Team("Arsenal FC"));
 lteams.add(new Team("Chelsea"));

 //then adding 3 points to Chelsea and 1 point to Arsenal

 lteams.get(2).addPoints(true); …
Run Code Online (Sandbox Code Playgroud)

java collections arraylist

14
推荐指数
2
解决办法
6万
查看次数

按日期排序哈希映射

这是我的json:

[
{"name": "John Smith","date":"2017-02-02T23:07:09Z","id":"1223234"}
{"name": "John Doe","date":"2015-07-03T21:05:10Z","id":"3242342"},
{"name": "Jane Fan","date":"2016-12-22T13:27:19Z","id":"2123444"}
]
Run Code Online (Sandbox Code Playgroud)

我已将上面的内容转换为hashmap.现在我想对日期值进行排序.

是否有内置功能可以帮助我实现这一目标?例如,用Python排序

java sorting hashmap

2
推荐指数
1
解决办法
302
查看次数

对对象的ArrayList进行排序?

我需要一些帮助如何排序对象的ArrayList.我有超类帐户和两个子类SavingsAccount和CreditAccount.在Account类中,当我想知道帐号时,我有这个方法来调用:

// Get account number
public String getAccountNumber() {
    return accountNumber;
}
Run Code Online (Sandbox Code Playgroud)

我需要对帐号进行排序,以获得对象中所有帐户的最大数量?

ArrayList是这样的:

ArrayList<Account> accountList = new ArrayList<Account>();
Run Code Online (Sandbox Code Playgroud)

这可以用一种简单而不复杂的方式来完成吗?谢谢!

java

0
推荐指数
1
解决办法
2019
查看次数

如何按对象属性对ArrayList进行排序?

假设我有一个自定义对象的ArrayList,例如

class fileOjb
{
    String path;
    String format;
    int size;
    int dateadd;
}
Run Code Online (Sandbox Code Playgroud)

我应该如何对其进行排序 - 路径,格式,大小或日期添加?

谢谢!

java android

0
推荐指数
1
解决办法
475
查看次数