我有一个名为MyClass
的班级,其中包含几个成员,其中一个是myString
:
public class MyClass{
//...
private String myString;
}
现在,我有一个MyClass
的集合和另一个String
的集合。
我的问题是:
如何将这两个系列与流媒体进行比较?这可能吗?
答案 0 :(得分:7)
您可以将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));