【问题标题】:how to sort arrayList based on another arrayList in android如何根据android中的另一个arrayList对arrayList进行排序
【发布时间】:2020-08-16 21:34:41
【问题描述】:

我检查了许多示例,但我不知道如何实现 Comparator 或其他方法来解决我的问题。我试图清楚地解释我的问题。 我有一个 arrayList 如下: 我的数据模型包括一个 int 作为 id 和一个 String 作为每个对象的名称;

arrayList 1 = {id=0 - value= "name0", id=1 - value= "name1" , id = 2 - value = "name2"};

我的第二个 Arraylist 还包括一个包含更多项目的数据模型,但它还包括第一个 arrayList 的值,如下所示:

arrayList 2 = {id = 100 - age = 20 - value ="name2",id = 101 - age = 21 - value ="name0",id = 102 - age = 18 - value ="name1"};

现在我想根据 firstArrayList(value order) 对第二个 arrayList 进行排序,如下所示:

orderedArrayList = {id = 101 - age = 21 - value ="name0",id = 102 - age = 18 - value ="name1",id = 100 - age = 20 - value ="name2"}

如何做到这一点?有人可以帮我做到这一点吗?我的 android api 也是 21 。

【问题讨论】:

标签: java android


【解决方案1】:

您提到您试图根据 firstArrayList 对第二个 arrayList 进行排序。根据我在您的代码中看到的内容,您正在尝试对元组列表进行排序。元组是元素的列表,但可以将其视为列表中的 1 个元素。我建议将你的两个数组重新初始化为这样的元组列表

//2 个元素的元组列表 arrayList 1 = { [id=0 - value= "name0"], [id=1 - value= "name1"] , [id = 2 - value = "name2"]};

//3 个元素的元组列表 arrayList 2 = { [id = 100 - 年龄 = 20 - 值 =“name2”],[id = 101 - 年龄 = 21 - 值 =“name0”],[id = 102 - 年龄 = 18 - 值 =“name1” ]};

上面的代码语法不正确,我只是使用伪代码。另外,如果你想对列表中的元素进行排序,我建议导入这个 java 库

导入 java.util.Arrays;

从那里你可以使用 arrayList.sort() (同样不是正确的语法)。让我知道是否有帮助!

【讨论】:

    猜你喜欢
    • 2020-01-03
    • 2018-07-13
    • 2017-07-06
    • 1970-01-01
    • 2014-06-19
    • 2016-08-28
    • 2019-12-01
    • 1970-01-01
    • 2011-05-17
    相关资源
    最近更新 更多