我有一个ArrayList of String。
在每个索引上的外部ArrayList中,每个内部ArrayList有四个项目,有四个参数。
现在,我想根据Contact Name参数对的完整ArrayList进行排序。
意味着我要访问外部Arraylist,外部Arraylist的每个索引上存在的内部Arraylist应该根据联系人名称进行排序。
比较器/可比接口不太可能帮助我。
收集我帮不上忙
排序Bean的Arraylist。我读了这篇文章,但它是为ArrayList的
ArrayList
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
public class ListsUtils {
public static void sortListOfLists(List < List < String >> listOfLists) {
// first sort the inner arrays using collections.sort
for (List < String > innerList: listOfLists) {
Collections.sort(innerList);
}
// now sort by comparing the first string of each inner list using a comparator
Collections.sort(listOfLists, new ListOfStringsComparator());
}
static final class ListOfStringsComparator implements Comparator < List < String >> {
@
Override
public int compare(List < String > o1, List < String > o2) {
// do other error checks here as well... such as null. outofbounds, etc
return o1.get(0).compareTo(o2.get(0));
}
}
}
我猜我只是假设你必须排序一个字符串数组列表...这就是为什么我先排序内部数组列表,然后通过比较每个数组的第一项来排序外部列表。我没有看到你回答中的联系人。
在这种情况下,删除用于对内部列表进行排序的for循环,您应该仍然能够使用comparator进行排序,但是比较到正确的索引,而不是第一个元素。
Collections.sort(listOfLists, new ListOfStringListCompator());
我觉得发布这个很糟糕,因为列表
ArrayList<ArrayList<String>> yourList = ...
Collections.sort(yourList, new Comparator<ArrayList<String>>() {
@Override
public int compare(ArrayList<String> one, ArrayList<String> two) {
return one.get(1).compareTo(two.get(1));
}
});
假设列表中的列表具有顺序id、名称、地址和编号(即名称位于索引1)中的字符串,则可以使用比较器,如下所示:
List<List<String>> list;
Collections.sort(list, new Comparator<List<String>> () {
@Override
public int compare(List<String> a, List<String> b) {
return a.get(1).compareTo(b.get(1));
}
});
顺便说一句,使用
ArrayList
并不重要:使用抽象类型(即List
)声明变量是一种很好的编程实践。
问题内容: 我有一个数组列表 并且在arraylist中有很多类型的对象值,这些值都是不同的。其中一个值是也与该数组列表一起设置的项目等级。 现在,我想根据排名的顺序对数组列表进行排序。排名值已在此数组列表中设置。 我如何排序其中一个具有很多类型的值…的数组列表? 谢谢大家。 问题答案: 使它们都是一种类型的对象。设计一个通用的基类或一个 然后 用于整理它们 例如。 假设arraylist中的所有
问题内容: 我需要按商品所在的过道对购物清单进行排序,例如: [面包] [1] [牛奶] [2] [谷物] [3] 我打算使用ArrayList进行此操作,并且想知道如何制作2D ArrayList奖励问题:关于如何按过道编号排序的任何想法? 问题答案: 您没有开设可容纳您的物品和过道信息的课程吗?就像是: 如果不这样做,请考虑创建一个- 与尝试将这些属性粘贴到另一个ArrayList中的Arra
问题内容: 仅对ArrayList的一部分进行排序的 最有效 方法是什么?说一个包含10个元素的Arraylist中从索引0到3的所有元素。 Java中有可用的库函数吗? 除了排序整个列表! 编写高度优化的自定义排序功能将需要一些工作。 问题答案: 在文档中对此进行了描述: 公共列表subList(int fromIndex,int toIndex) 返回此列表中指定的fromIndex(包括)和
我创建了这个随机生成的arraylist,它生成1-50个数字。我想按升序对生成的数字进行排序。不使用集合。sort,我如何使用ArrayList进行排序?
本文向大家介绍Java ArrayList的不同排序方法,包括了Java ArrayList的不同排序方法的使用技巧和注意事项,需要的朋友参考一下 由于其功能性和灵活性,ArrayList是 Java 集合框架中使用最为普遍的集合类之一。ArrayList 是一种 List 实现,它的内部用一个动态数组来存储元素,因此 ArrayList 能够在添加和移除元素的时候进行动态的扩展和缩减。你可能已经