我如何在java中存储数据,以便我可以通过任何存储的字段访问它,而不必多次存储数据?
假设我有一个这样的类:
class Fruit {
String name;
String Color;
int count;
//...
}
然后我得到了这个类的几个示例:
Fruit f1 = ("banana","yellow",4);
Fruit f2 = ("apple","red",2);
Fruit f3 = ("tomato","red",4);
//...
现在有没有什么方法可以存储这些数据,这样我就不仅可以得到水果的名字,而且还可以得到所有黄色的水果。还是所有的水果都是4
我也已经考虑过将java.util.List
与Stream.filter();
结合使用,但我很确定有一些第三方库,它们的速度更快。我只是没能找到任何。
1条答案
按热度按时间roejwanj1#
我不相信在Java中有任何固有的方法来做到这一点。
虽然,你不必多次存储它来实现效果。
如果有一个抽象,它很可能是 Collections 框架的一部分。
如果您想查看可用的接口,这里是到 JavaDoc 的链接。
我建议为每个查找创建一个单独的方法。
您可以使用 ArrayList 来存储数据。
这些将返回一个匹配列表,考虑到可能有多个结果-或 null,当没有找到匹配时。
这里有一个例子。
输出量