我想比较两个ArrayLists并返回Java中最大的相似性子集.所以我想比较列表的部分而不仅仅是单个值.
例:
list 1 list 2
F A
A B
B C
C F
D D
Z Z
A
F
C
Run Code Online (Sandbox Code Playgroud)
最大的子集:
Arraylist: [A,B,C]
Run Code Online (Sandbox Code Playgroud)
第二个最大的子集应该是:
ArrayList: [D,Z]
Run Code Online (Sandbox Code Playgroud)
我怎样才能有效地做到这一点?(不使用超过2个for循环)
retainAll()不起作用,retainAll()返回相等的值,而不是最大的子集.
编辑 我想作为输出,在最大子集之前列出,最大子集,在最大子集之后列出.通过示例输出应该是:
[[F],[null]],[A,B,C],[[D,Z,A,F,C],[F,D,Z]]
Run Code Online (Sandbox Code Playgroud)