List<String[]> sarray;
ArrayList<ContentTable> currentData=new ArrayList<ContentTable>();
//here sarray is initialized with data
sarray = reader.readAll();
for(String[] arr : sarray)
{
System.out.println("array data "+ Arrays.toString(arr));
}
for(ContentTable ct : currentData)
{
System.out.println("list data "+ct.getId() +" "+ ct.getSubid() +" "+ct.getChpid()+" "+ct.getSec_name()+" "+ct.getContent());
}
数组和列表各输出1个结果:
数组数据 -> [9, 10, 83, Concepts: 1-10, <p>我们将在本章节深入讨论这些概念。但现在,我们需要简要回顾这些概念,以便您能够解决后续章节中的练习题。</p>]
列表数据 -> 9 10 83 Concepts: 1-10 <p>我们将在本章节深入讨论这些概念。但现在,我们需要简要回顾这些概念,以便您能够解决后续章节中的练习题。</p>
//fields with getters and setters in ContentTable Class
public class ContentTable {
int id;
int subid;
int chpid;
String sec_name;
String content;
}
现在我想要实现的是创建两个列表,
ArrayList<ContentTable> updatedData=new ArrayList<ContentTable>();
ArrayList<ContentTable> addedData=new ArrayList<ContentTable>();
这些将会在比较
sarray
和currentdata
后填充数据,如果currentdata
中某个索引处的ct.getSec_name()
或ct.getContent()
与sarray
中的数据不相等,则它将被添加到updatedData
中。同时,如果某个索引处的ct.getId()
、ct.getSubid()
或ct.getChpid()
与sarray
中的任何数据都不相等,则它将被添加到addedData
中。如何以更少的复杂度和更优雅的方式实现此操作,并且我希望能够尽快完成,因为每个元素在Arraylist currentData
和ArrayList sarray
中进行比较可能需要一些时间。