小编Krz*_*ski的帖子

使用流查找两个相似的数组

假设我有对象列表,每个对象都包含自己的字符串数组。我需要找到与给定数组具有最多重复项的对象。我可以通过使用一些 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;
    }
}
Run Code Online (Sandbox Code Playgroud)

arrays java-8 java-stream

5
推荐指数
1
解决办法
84
查看次数

标签 统计

arrays ×1

java-8 ×1

java-stream ×1