Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 多个arraylist中arraylist的排序_Java_String_Sorting_Arraylist - Fatal编程技术网

Java 多个arraylist中arraylist的排序

Java 多个arraylist中arraylist的排序,java,string,sorting,arraylist,Java,String,Sorting,Arraylist,我有一个包含多个arraylist的arraylist,如- ArrayList<ArrayList<String>> al1=new ArrayList<ArrayList<String>>(); 现在我想对主arraylist进行排序。主arraylist包含5个内部arraylist。现在,排序必须像比较每个内部arraylist的第7个元素一样,即整数,并且内部arraylist根据其第7个元素的值进行排列 Collections.sor

我有一个包含多个arraylist的arraylist,如-

ArrayList<ArrayList<String>> al1=new ArrayList<ArrayList<String>>();
现在我想对主arraylist进行排序。主arraylist包含5个内部arraylist。现在,排序必须像比较每个内部arraylist的第7个元素一样,即整数,并且内部arraylist根据其第7个元素的值进行排列

Collections.sort(al1, new Comparator<ArrayList<String>>() {
  @Override public int compare(ArrayList<String> o1, ArrayList<String> o2) {
    return o1.get(7).compareTo(o2.get(7));
  }
});
Collections.sort(al1,新的比较器(){
@覆盖公共整数比较(ArrayList o1,ArrayList o2){
返回o1.get(7)。与(o2.get(7))进行比较;
}
});

Java中的索引从
0开始。第7个元素具有索引
6
。此外,您必须将
字符串
转换为int,以便正确比较

试试这个:

Comparator<ArrayList<String>> cmp = new Comparator<ArrayList<String>>()
{
    public int compare(ArrayList<String> a1, ArrayList<String> a2)
    {
        // TODO check for null value
        return new Integer(a1.get(6)).compareTo(new Integer(a2.get(6));
    }
};

Collections.sort(yourList, cmp);
比较器cmp=新比较器() { 公共整数比较(ArrayList a1、ArrayList a2) { //TODO检查空值 返回新整数(a1.get(6)).compareTo(新整数(a2.get(6)); } }; Collections.sort(yourList,cmp);
创建并使用您自己的代码。请向我们展示您尝试过的代码。我正在尝试制作自己的比较器,但每次都得到错误的结果。向我们展示您的代码。描述您的想法。向我们展示预期的输出。向我们展示您代码的实际输出。听起来您应该使用一个类,而不是一个包含具有特殊si的元素的列表特定索引的重要性。我做了一个修改
Integer。parseInt
总是比
newinteger
好,是的,但我想保留一个对象来使用compareTo
Comparator<ArrayList<String>> cmp = new Comparator<ArrayList<String>>()
{
    public int compare(ArrayList<String> a1, ArrayList<String> a2)
    {
        // TODO check for null value
        return new Integer(a1.get(6)).compareTo(new Integer(a2.get(6));
    }
};

Collections.sort(yourList, cmp);