Java 如何从其他类型创建新的Arraylist
我有两个班,分别是Employee和Manager,用于扩展Employee。 我有Arraylist类型的Employee,它同时包含Employee和Manager。 我需要一个泛型方法,该方法将创建一个新的ArrayList类型管理器,该管理器将复制第一个列表中的所有管理器。步骤如下:Java 如何从其他类型创建新的Arraylist,java,arraylist,Java,Arraylist,我有两个班,分别是Employee和Manager,用于扩展Employee。 我有Arraylist类型的Employee,它同时包含Employee和Manager。 我需要一个泛型方法,该方法将创建一个新的ArrayList类型管理器,该管理器将复制第一个列表中的所有管理器。步骤如下: 创建新的列表 循环浏览列表 对于每个元素,使用运算符检查该元素是否为管理器**instanceof** 如果是经理,则将其添加到列表中 返回列表 用实际代码翻译这些步骤应该很容易。这些步骤是: 创建新
- 创建新的
列表
- 循环浏览
列表
- 对于每个元素,使用运算符检查该元素是否为
管理器
**instanceof**
- 如果是经理,则将其添加到
列表中
- 返回
列表
- 创建新的
列表
- 循环浏览
列表
- 对于每个元素,使用运算符检查该元素是否为
管理器
**instanceof**
- 如果是经理,则将其添加到
列表中
- 返回
列表
在实际代码中翻译这些步骤应该很容易。使用java 8,您可以使用流方法来执行中所述的步骤
- 创建一个新列表
- 循环浏览列表
- 对于每个元素,使用运算符instanceof
- 如果是经理,则将其添加到列表中
- 返回列表
list.stream().filter(Manager.class::isInstance).map(Manager.class::cast).collect(Collectors.toList());
我们首先对原始列表中的项目进行流式处理,过滤掉
管理器
s,将管理器
s转换为管理器
实例,然后将结果收集到一个列表中。使用java 8,您可以使用流方法执行中所述的步骤
- 创建一个新列表
- 循环浏览列表
- 对于每个元素,使用运算符instanceof
- 如果是经理,则将其添加到列表中
- 返回列表
list.stream().filter(Manager.class::isInstance).map(Manager.class::cast).collect(Collectors.toList());
我们首先流式处理原始列表中的项目,过滤掉管理器
s,将管理器
s转换为管理器
实例,然后将结果收集到列表中