我有一个叫做MyClass
包含几个成员的类,其中一个是myString
:
public class MyClass{
//...
private String myString;
}
Run Code Online (Sandbox Code Playgroud)
现在,我有一个集合MyClass
和另一个集合String
.
我的问题是:
如何将这两个集合与流媒体进行比较?那可能吗?
您可以将列表映射MyClass
到字符串列表,然后正常比较它们:
List<String> anotherList = listOfMyClass.stream()
.map(MyClass::getMyString) //Assuming that you have a getter for myString
.collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)
您还可以将列表中的所有元素连接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));
Run Code Online (Sandbox Code Playgroud)