簡體   English   中英

按Java中的索引對arraylist的arraylist進行排序

[英]Sorting an arraylist of arraylist by its index in java

我有一個arraylist的arraylist,每個內部arraylist包含2個值,第一個是整數,第二個是字符串,因此從本質上來說,它看起來像是:{5,some text},{12,more text},{3,甚至更多的文本}等,我想做的就是對此進行排序,以便按從最大整數到最小的降序對其進行排序,因此前面的示例如下:{12,一些文本},{5,一些文字},{3,甚至更多文字},任何幫助都將大有幫助

您的數據結構聽起來實際上是一個“地圖”。 也許您應該研究數據結構,尤其是收集接口和類...

如果您仍然認為自己擁有的是“列表”,則應該使用正確的Comparator或Comparable類型進行Collections.sort操作

如果列表是正確的,這是您的數據結構的一種解決方案。

import java.util.ArrayList;
import java.util.Collections;

public class InnerObject implements Comparable<InnerObject> {
    Integer index;
    String  name;

    public InnerObject(Integer index, String name) {
        this.index = index;
        this.name = name;
    }

    @Override
    public int compareTo(InnerObject other) {
        return index.compareTo(other.index);
    }

    @Override
    public String toString() {
        return "{" + index + "," + name + "}";
    }

    public static void main(String[] args) {
        ArrayList<InnerObject> list = new ArrayList<InnerObject>();
        list.add(new InnerObject(666, "devil"));
        list.add(new InnerObject(1, "one"));
        list.add(new InnerObject(10, "ten"));

        System.out.println("list before order: " + list);

        Collections.sort(list);

        System.out.println("list after order: " + list);

    }   
}

如果您的內部列表可以包含一個具有2個屬性的對象,那就更好了。 然后可以將該對象用於排序。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM