使用和条件合并scala中的两个列表
有人能建议在scala中合并两个列表的最佳方法,以便生成的列表只包含两个列表中的匹配元素吗 例如:使用和条件合并scala中的两个列表,scala,list,Scala,List,有人能建议在scala中合并两个列表的最佳方法,以便生成的列表只包含两个列表中的匹配元素吗 例如: List[Int] = List(10,20,30) List[Int] = List(30,50) Result: List[Int] = List(30) 和条件(为循环嵌套) 可以将嵌套for循环用作 它应该为您提供列表(30)和条件(嵌套循环) 可以将嵌套for循环用作 除了intersect解决方案之外,您还可以使用过滤器和内部包含的 l1.filter(l2.contai
List[Int] = List(10,20,30)
List[Int] = List(30,50)
Result: List[Int] = List(30)
和条件(为循环嵌套)
可以将嵌套for循环用作
它应该为您提供列表(30)和条件(嵌套循环)
可以将嵌套for循环用作
除了intersect解决方案之外,您还可以使用
过滤器和内部包含的
l1.filter(l2.contains(_))
根据您的输入:
l1: List[Int] = List(10, 20, 30)
l2: List[Int] = List(30, 50)
结果将是:
List[Int] = List(30)
除了intersect解决方案外,还可以使用过滤器
,内部带有contains
l1.filter(l2.contains(_))
根据您的输入:
l1: List[Int] = List(10, 20, 30)
l2: List[Int] = List(30, 50)
结果将是:
List[Int] = List(30)
使用dropwhile
或takeWhile
也可以实现类似的功能
scala> l2.takeWhile(l1.contains(_))
res8: List[Int] = List(30)
scala> l1.dropWhile(!l2.contains(_))
res10: List[Int] = List(30)
使用dropwhile
或takeWhile
也可以实现类似的功能
scala> l2.takeWhile(l1.contains(_))
res8: List[Int] = List(30)
scala> l1.dropWhile(!l2.contains(_))
res10: List[Int] = List(30)
谢谢你的快速回复。我正在寻找一个内置函数,intersect解决了我的用例。感谢您的快速响应。我在寻找一个内置函数,并解决了我的用例。