二位数据采用的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变量进行排序。
帮忙看下,有帮助的不帮助的都给分。
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变量进行排序。
帮忙看下,有帮助的不帮助的都给分。
然后按照不同的name,new不同的对象.
把new好的对象都放进TreeSet实现Comparator的compare(),
TreeSet中的顺序就是你想要的,再转换成你List。
刚用过TreeSet感觉能用上,就想了这么个办法。
估计有牛人更好的
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转换成一个二维数组,然后对每一个元素(数组)的第一个元素进行排序?
是这个意思吗?
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;
}
});
}
}
[LiSi, aredf, asdf]
[WangWu, asdffd, asdf, asdf]
[ZhangSha, eredf, asdf]
看到结果了吧,已经按List的第一个元素排好序了.