【发布时间】:2017-09-05 10:43:55
【问题描述】:
假设我有一个对象列表,每个对象都包含自己的字符串数组。我需要找到与给定数组重复最多的对象。 我可以通过使用一些 for 循环、if 和计数器来简单地实现这一点,但我想使用 Java 8 流来做到这一点。我真的希望这是可能的。
@Test
public void test() {
String mainArray[] = {"a", "b", "c"};
List<ElementsList> elems = new ArrayList<>();
ElementsList a = new ElementsList(new String[]{"d", "e", "a"});
ElementsList b = new ElementsList(new String[]{"b", "c", "d"});
elems.add(a);
elems.add(b);
List<ElementsList> result = elems.stream()...;
assertTrue(result.contains(b));
}
private class ElementsList {
private String elements[];
private ElementsList(String elements[]) {
this.elements = elements;
}
public String[] getElements() {
return elements;
}
}
【问题讨论】:
-
在 ElementList 中或列表之间重复?
-
给定数组(此处为 mainArray)和 ElementList 中的数组之间
标签: arrays java-8 java-stream