当前位置:  开发笔记 > 编程语言 > 正文

仅获取与条件匹配的ArrayList的第一个元素

如何解决《仅获取与条件匹配的ArrayList的第一个元素》经验,为你挑选了1个好方法。



1> khelwood..:

写一个Comparator.

Comparator myOrder = new Comparator() {
    public int compare(MyType a, MyType b) {
         return (b.booleanField() ? 1 : 0) - (a.booleanField() ? 1 : 0);
    }
}

使用此比较器排序.

Collections.sort(myList, myOrder);

看到 Collections.sort

编辑

因此,您实际要求的似乎是将一个匹配元素移动到列表的前面.这应该很容易.

找到要移动的元素的索引:

int foundIndex = -1;
for (int i = 0; i < tripList.size(); ++i) {
    if (tripList.get(i).freeCancellation) {
        foundIndex = i;
        break;
    }
}

如果您找到这样的元素,并且它尚未在开头,请将其移至开头:

if (foundIndex > 0) {
    tripList.add(0, tripList.remove(foundIndex));
}

推荐阅读
linjiabin43
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有