使用比较器基于两个元素在Java列表中进行嵌套排序

jaykio77

我有一个Java列表,向它添加对象后需要对其进行排序。该对象具有三个元素。一个字符串和两个整数。该课程如下:

public class ValueWords implements Comparable<ValueWords>{

//.............................................

public static final Comparator<ValueWords> valComparator = new Comparator<ValueWords>()
 {@Override
    public int compare(ValueWords v1, ValueWords v2) {
        return v1.valWord   - v2.valWord; }
   }
};
//....................................................................
private String strWord;
private int valWord;
private int phraseWord;
public int getPhraseWord() {
    return phraseWord;}
public void setPhraseWord(int phraseWord) {
    this.phraseWord = phraseWord;}
public String getStrWord() {
    return strWord;}
public void setStrWord(String strWord) {
    this.strWord = strWord;}
public int getValWord() {
    return valWord;}
public void setValWord(int valWord) {
    this.valWord = valWord;}
public ValueWords() {}

@Override
public int compareTo(ValueWords arg0) {
    // TODO Auto-generated method stub
    return 0;}
//..............................................
}

我这样称呼它

 Collections.sort(valWordList,ValueWords.valComparator);

它给了我排序列表如下:

 ---------------------------------------------
   strWord     valWord      phraseWord
   abcd          0             1
   abcde         0             0
   mns           1             2 
   efgh          1             1
   xyz           2             2
   zxx           2             0
  --------------------------------------------

我想要像这样的嵌套排序:

  ---------------------------------------------
   strWord     valWord      phraseWord
   abcde        0             0
   abcd         0             0
   efgh         1             1 
   mns          1             2
   zxx          2             0
   xyz          2             2
  --------------------------------------------

我遵循了一些徒劳的尝试,但是对Java还是陌生的。他们没有工作。他们是安静的原始人,可以放在这里。

恩萨尔·哈蒂波格鲁

尝试更改比较器以检查两个值:

public static final Comparator<ValueWords> valComparator = new Comparator<ValueWords>() {
    @Override
    public int compare(ValueWords v1, ValueWords v2) {
        if(v1.valWord == v2.valWord)
            return v1.phraseWord - v2.phraseWord;
        else 
            return v1.valWord - v2.valWord;
    }
};

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

按两个元素对嵌套列表进行排序

来自分类Dev

通过使用linq比较两个列表进行排序?

来自分类Dev

使用两个或多个条件对列表的元素进行排序

来自分类Dev

当任何两个元素之间的比较可能不明确时,对列表进行排序?

来自分类Dev

如何在Python中基于两个元素对列表进行排序?

来自分类Dev

根据内部列表中的字段对Java中的两个嵌套列表进行排序和分组

来自分类Dev

比较两个列表排序

来自分类Dev

比较两个列表排序

来自分类Dev

Java 8:如何使用 ArrayList 对两个嵌套的 Map 进行排序和收集?

来自分类Dev

比较两个列表并使用powershell进行报告

来自分类Dev

使用两个键对列表进行排序

来自分类Dev

Linq通过从两个int类型的列表中进行比较来选择对象

来自分类Dev

如何比较两个列表元素?

来自分类Dev

比较两个不同列表的元素

来自分类Dev

对两个列表进行排序

来自分类Dev

Python:基于无类型的第一个对两个列表进行排序

来自分类Dev

使用Java中的可比较按两个字段升序和降序对对象列表进行排序

来自分类Dev

QSortFilterProxyModel基于两个排序角色进行排序?

来自分类Dev

基于一个列元素对两个数组进行排序和合并

来自分类Dev

使用Java流串比较两个列表

来自分类Dev

检索两个列表,对值进行排序和比较,然后显示所有结果

来自分类Dev

比较两个列表并对已添加和已删除条目进行排序

来自分类Dev

基于两个元素 LINQ 有选择地重新排序列表

来自分类Dev

基于两个条件对列表进行排序的最佳算法是什么?

来自分类Dev

如何仅使用两列比较两个文件并打印差异(不进行排序)?

来自分类Dev

Java:比较两个列表

来自分类Dev

Java:比较两个列表

来自分类Dev

从字母顺序列表中重新排序两个值。枚举/比较器

来自分类Dev

比较两个列表中的元素并添加不同的元素

Related 相关文章

  1. 1

    按两个元素对嵌套列表进行排序

  2. 2

    通过使用linq比较两个列表进行排序?

  3. 3

    使用两个或多个条件对列表的元素进行排序

  4. 4

    当任何两个元素之间的比较可能不明确时,对列表进行排序?

  5. 5

    如何在Python中基于两个元素对列表进行排序?

  6. 6

    根据内部列表中的字段对Java中的两个嵌套列表进行排序和分组

  7. 7

    比较两个列表排序

  8. 8

    比较两个列表排序

  9. 9

    Java 8:如何使用 ArrayList 对两个嵌套的 Map 进行排序和收集?

  10. 10

    比较两个列表并使用powershell进行报告

  11. 11

    使用两个键对列表进行排序

  12. 12

    Linq通过从两个int类型的列表中进行比较来选择对象

  13. 13

    如何比较两个列表元素?

  14. 14

    比较两个不同列表的元素

  15. 15

    对两个列表进行排序

  16. 16

    Python:基于无类型的第一个对两个列表进行排序

  17. 17

    使用Java中的可比较按两个字段升序和降序对对象列表进行排序

  18. 18

    QSortFilterProxyModel基于两个排序角色进行排序?

  19. 19

    基于一个列元素对两个数组进行排序和合并

  20. 20

    使用Java流串比较两个列表

  21. 21

    检索两个列表,对值进行排序和比较,然后显示所有结果

  22. 22

    比较两个列表并对已添加和已删除条目进行排序

  23. 23

    基于两个元素 LINQ 有选择地重新排序列表

  24. 24

    基于两个条件对列表进行排序的最佳算法是什么?

  25. 25

    如何仅使用两列比较两个文件并打印差异(不进行排序)?

  26. 26

    Java:比较两个列表

  27. 27

    Java:比较两个列表

  28. 28

    从字母顺序列表中重新排序两个值。枚举/比较器

  29. 29

    比较两个列表中的元素并添加不同的元素

热门标签

归档