gpt4 book ai didi

java - 在 java 集合中搜索对象

转载 作者:行者123 更新时间:2023-11-29 06:15:03 24 4
gpt4 key购买 nike

首先,我不知道我是否有效地组织了我的数据,我的想法是我有成对的键/值。

    public static class Freq implements Comparable {
String term;
double frequency;

public Freq( String term, double frequency ) {
this.term = term;
this.frequency = frequency;
}

public int compareTo(Object o) {
if(this.frequency == ((Freq) o).frequency)
return 0;
else if(this.frequency > ((Freq) o).frequency)
return 1;
else
return -1;
}

现在,我将这些对象存储在一个集合中:List<Freq> bla = new ArrayList<Freq>()以及对其进行排序。

我有兴趣搜索特定对象,例如Freq.name = 'Bar'来自已排序的集合。我该怎么做?或者我必须迭代整个集合。

或者还有其他更有效的方法吗?

最佳答案

您应该使用关联的集合,例如 TreeMap , 使其元素自动排序。如果你想有时根据名称有时根据频率进行搜索,你可以将你的元素同时保存在两个 map 中,并使用合适的 map 进行查找。

或者如果出于某种原因你想坚持使用排序列表,你可以使用 Collections.binarySearch()在其中查找元素。

关于java - 在 java 集合中搜索对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5422212/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com