我有一个叫的类MyClass
,其中包含几个成员,其中一个是myString
:
public class MyClass{
//...
private String myString;
}
现在,我有个的集合MyClass
和一个的集合String
。
我的问题是:
如何比较这两个集合与流?那可能吗?
您可以将的列表映射MyClass
到字符串列表,然后正常进行比较:
List<String> anotherList = listOfMyClass.stream()
.map(MyClass::getMyString) //Assuming that you have a getter for myString
.collect(Collectors.toList());
您也可以将列表中的所有元素合并为一个String
,然后直接进行比较。这仅在两个列表中元素的顺序相同时才起作用。下面的例子:
final String joinSeparator = ", ";
String firstResult = stringList
.stream()
.collect(Collectors.joining(joinSeparator));
String secondResult = myClassList
.stream()
.map(MyClass::getMyString)
.collect(Collectors.joining(joinSeparator));
//Just compare them using equals:
System.out.println(firstResult.equals(secondResult));
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句