如何在Java中找出两个相同的数据
1. 流程图
graph TD
A[开始] --> B(获取两个数据列表)
B --> C(遍历第一个数据列表)
C --> D{是否包含当前元素}
D --> |是| E(添加当前元素至结果列表)
D --> |否| F(继续遍历下一个元素)
F --> G(输出结果列表)
G --> H[结束]
2. 代码实现
首先,我们需要定义一个方法来查找两个数据列表中相同的元素:
public List<Integer> findDuplicates(List<Integer> list1, List<Integer> list2) {
List<Integer> duplicates = new ArrayList<>(); // 用于存储相同的元素
for (Integer num : list1) { // 遍历第一个数据列表
if (list2.contains(num)) { // 判断第二个数据列表中是否包含当前元素
duplicates.add(num); // 如果包含,则将当前元素添加到结果列表中
}
}
return duplicates; // 返回结果列表
}
3. 示例代码
public class Main {
public static void main(String[] args) {
List<Integer> list1 = Arrays.asList(1, 2, 3, 4, 5);
List<Integer> list2 = Arrays.asList(4, 5, 6, 7, 8);
List<Integer> duplicates = findDuplicates(list1, list2);
System.out.println("相同的元素为:" + duplicates);
}
public static List<Integer> findDuplicates(List<Integer> list1, List<Integer> list2) {
List<Integer> duplicates = new ArrayList<>(); // 用于存储相同的元素
for (Integer num : list1) { // 遍历第一个数据列表
if (list2.contains(num)) { // 判断第二个数据列表中是否包含当前元素
duplicates.add(num); // 如果包含,则将当前元素添加到结果列表中
}
}
return duplicates; // 返回结果列表
}
}
4. 类图
classDiagram
Main <|-- ListUtils
5. 状态图
stateDiagram
state 开始
state 结束
开始 --> 获取数据列表
获取数据列表 --> 遍历第一个数据列表
遍历第一个数据列表 --> 是否包含当前元素
是否包含当前元素 --> 是: 添加当前元素至结果列表
是否包含当前元素 --> 否: 继续遍历下一个元素
继续遍历下一个元素 --> 输出结果列表
输出结果列表 --> 结束
总结
通过以上步骤,我们可以找出两个相同的数据。首先,我们获取两个数据列表,并遍历第一个数据列表。对于每个元素,我们判断第二个数据列表中是否包含它,并将包含的元素添加到结果列表。最后,我们输出结果列表。这个方法的时间复杂度是O(n*m),其中n是第一个数据列表的大小,m是第二个数据列表的大小。