Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 有没有一种方法可以根据另一个字符串列表筛选出包含字符串元素的对象的列表中的元素_Java_String_List - Fatal编程技术网

Java 有没有一种方法可以根据另一个字符串列表筛选出包含字符串元素的对象的列表中的元素

Java 有没有一种方法可以根据另一个字符串列表筛选出包含字符串元素的对象的列表中的元素,java,string,list,Java,String,List,我有一个包含字符串元素的对象列表。现在还有另一个字符串列表List 我希望第一个列表只包含作为第二个列表元素的对象 最有效的方法是什么?您可以使用列表的contains()方法,这在您的情况下很方便,因为它将equals()检查字符串 e、 g 这将为您生成一个新的列表您应该有一个集合,而不是一个列表。@Jean-FrançoisCorbett我通过迭代列表来完成它,我认为这是最简单的解决方案。 List<String> otherList = new ArrayList<

我有一个包含字符串元素的对象列表。现在还有另一个字符串列表
List

我希望第一个列表只包含作为第二个列表元素的对象


最有效的方法是什么?

您可以使用列表的
contains()
方法,这在您的情况下很方便,因为它将
equals()
检查字符串

e、 g


这将为您生成一个新的
列表

您应该有一个
集合
,而不是一个
列表
。@Jean-FrançoisCorbett我通过迭代列表来完成它,我认为这是最简单的解决方案。
  List<String> otherList = new ArrayList<>();
  List<Object> test = new ArrayList<>();
  Iterator<Object> it = test.iterator();
  while(it.hasNext()){
       if(!otherList.contains(it.next().getString())) it.remove();
   }
 test.stream().filter(e -> otherList.contains(e.getString()))
                .collect(Collectors.toList());