以下是一个比较两个来自CSV的ArrayList的示例代码:
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
public class CSVComparison {
public static void main(String[] args) {
// 从CSV文件读取数据到ArrayList
ArrayList list1 = readCSV("file1.csv");
ArrayList list2 = readCSV("file2.csv");
// 比较两个ArrayList
boolean areEqual = compareLists(list1, list2);
// 打印比较结果
if (areEqual) {
System.out.println("两个ArrayList相同");
} else {
System.out.println("两个ArrayList不同");
}
}
// 从CSV文件读取数据到ArrayList
public static ArrayList readCSV(String fileName) {
ArrayList list = new ArrayList<>();
try (BufferedReader br = new BufferedReader(new FileReader(fileName))) {
String line;
while ((line = br.readLine()) != null) {
String[] values = line.split(",");
list.add(values);
}
} catch (IOException e) {
e.printStackTrace();
}
return list;
}
// 比较两个ArrayList
public static boolean compareLists(ArrayList list1, ArrayList list2) {
if (list1.size() != list2.size()) {
return false; // 如果两个ArrayList的大小不同,则它们不相同
}
for (int i = 0; i < list1.size(); i++) {
String[] array1 = list1.get(i);
String[] array2 = list2.get(i);
if (array1.length != array2.length) {
return false; // 如果两个数组的长度不同,则它们不相同
}
for (int j = 0; j < array1.length; j++) {
if (!array1[j].equals(array2[j])) {
return false; // 如果两个元素不相同,则它们不相同
}
}
}
return true; // 如果所有元素都相同,则两个ArrayList相同
}
}
在这个示例代码中,首先使用readCSV
方法从两个CSV文件中读取数据到两个ArrayList中。然后使用compareLists
方法比较这两个ArrayList是否相同。在compareLists
方法中,首先比较两个ArrayList的大小,如果不同,则直接返回false
表示不相同。然后逐个比较两个ArrayList中的每个数组元素是否相同,如果有不同的元素,则返回false
表示不相同。如果所有元素都相同,则返回true
表示相同。最后在main
方法中根据比较结果打印相应的消息。
上一篇:比较两个来自不同来源的日期