二位数据采用的ArrayList类型,模拟数据如下:
List list_row=new ArrayList();
List list_col=new ArrayList();
循环:
list_col.add("name");
list_col.add("danger");
list_col.add("flow");
//上述存入的变量类型都是String。
list_row.add(list_col);大概是5*26的二维数组吧。
需要对每一行的第一列的name变量进行排序。
帮忙看下,有帮助的不帮助的都给分。

解决方案 »

  1.   

    用这三个属性name,danger,flow创建一个对象,
    然后按照不同的name,new不同的对象.
    把new好的对象都放进TreeSet实现Comparator的compare(),
    TreeSet中的顺序就是你想要的,再转换成你List。
    刚用过TreeSet感觉能用上,就想了这么个办法。
    估计有牛人更好的
      

  2.   

    List<String> list_col = new ArrayList<String>();
    List<List<String>> list_row = new ArrayList<List<String>>(); for(int i=0;i<xx;i++){             
        list_col.add("name"); 
        list_col.add("danger"); 
        list_col.add("flow");
    }list_row.add(list_col); 你想把list_row转换成一个二维数组,然后对每一个元素(数组)的第一个元素进行排序?
    是这个意思吗?
      

  3.   

    给你一个例子,你看看:import java.util.*;
    public class Test3{
    public static void main(String[] args){
    List<List<String>> myList=new ArrayList<List<String>>();
    myList.add(Arrays.asList("ZhangSha","eredf","asdf"));
    myList.add(Arrays.asList("LiSi","aredf","asdf"));
    myList.add(Arrays.asList("WangWu","asdffd","asdf","asdf"));
    sort(myList);
    for(List<String> list1:myList){
    System.out.println(list1);
    }
    }

    public static void sort(List<List<String>> myList){
    Collections.sort(myList,new Comparator<List<String>>(){
    public int compare(List<String>list1,List<String> list2){
    return list1.get(0).compareTo(list2.get(0));
    }
    public boolean equals(Object o){
    return false;
    }
    });
    }
    }
      

  4.   

    F:\java>java Test3
    [LiSi, aredf, asdf]
    [WangWu, asdffd, asdf, asdf]
    [ZhangSha, eredf, asdf]
    看到结果了吧,已经按List的第一个元素排好序了.
      

  5.   

    List还能这么用,学习一下了~