java - 如何对 Arraylist 进行排序以使特定项目位于顶部

标签 java android

我有一个包含联系人列表的回收 View 。

Check the Image

我想要的是在图像中红色标记的联系人应该出现在recyclerview的顶部

我尝试了这段代码,但它不适合我。

 Collections.sort(userList, new Comparator<Contact>() {
            @Override
            public int compare(Contact contact, Contact contact2) {
                return Boolean.compare(contact2.isRegistered(),contact.isRegistered());
            }
        });

        AllContactsAdapter contactAdapter = new AllContactsAdapter(userList,getContext());
        ContactRecyclerView.setLayoutManager(new LinearLayoutManager(getContext()));
        ContactRecyclerView.setAdapter(contactAdapter); 

希望我能得到答案并提前致谢:)

最佳答案

只需在比较方法中交换 Contact 对象即可

public void sort() {
    List<Contact> userList = new ArrayList<>();
    userList.add(new Contact("ABC", true));
    userList.add(new Contact("BCD", false));
    userList.add(new Contact("CDE", true));
    userList.add(new Contact("DEF", true));
    userList.add(new Contact("EFG", false));
    userList.add(new Contact("FGH", true));
    userList.add(new Contact("GHI", true));

    Collections.sort(userList, (contact, contact2) -> 
            Boolean.compare(contact.isRegistered(), contact2.isRegistered())); <----Here

    for (Contact contact : userList) {
        System.out.println(contact);
    }
}

Contact{name='BCD', isRegistered=false}

Contact{name='EFG', isRegistered=false}

Contact{name='ABC', isRegistered=true}

Contact{name='CDE', isRegistered=true}

Contact{name='DEF', isRegistered=true}

Contact{name='FGH', isRegistered=true}

Contact{name='GHI', isRegistered=true}

关于java - 如何对 Arraylist 进行排序以使特定项目位于顶部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59530225/

相关文章:

java - 用于近似字符串匹配的示例 java 代码或用于近似字符串匹配的 boyer-moore 扩展

java - JAX-WS,日期时区被误解

android - 排毒构建成功但排毒测试失败

java - 如何在android中创建自定义数据绑定(bind)? (安卓工作室)

android - 如何在 Activity 之间传递书的数组列表

java - Spring/Hibernate如何访问私有(private)成员?

java - MigLayout 对齐中心不会使 JLabel 组件居中

java - 从 azure 广告中的重定向uri获取 token

启动 Activity 中的 Android 自定义标题栏显示错误的标题

android - 建议的 android-arduino 通信协议(protocol)