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());
}
array と list の 1 つの結果の出力:
配列データ -> [9, 10, 83, Concepts: 1-10, <p>We’ll discuss many of the concepts in this chapter in depth later. But for now, we need a brief review of these concepts to equip you for solving exercises in the chapters that follow.</p>]
リストデータ -> 9 10 83 Concepts: 1-10 <p>We’ll discuss many of the concepts in this chapter in depth later. But for now, we need a brief review of these concepts to equip you for solving exercises in the chapters that follow.</p>
//fields with getters and setters in ContentTable Class
public class ContentTable {
int id;
int subid;
int chpid;
String sec_name;
String content;
}
今私が達成したいのは、2 つのリストを作成することです。
ArrayList<ContentTable> updatedData=new ArrayList<ContentTable>();
ArrayList<ContentTable> addedData=new ArrayList<ContentTable>();
sarray
これらは、の比較後にデータで埋められcurrentdata
、そのような方法で、
ct.getSec_name()
の特定ct.getContent()
のインデックスが にcurrentdata
存在するデータと等しくない場合は、にsarray
追加されますupdatedData
と、
特定のインデックスの、がどのデータとも等しくない場合、ct.getId()
それは addedData に追加されますct.getSubid()
ct.getChpid()
sarray
Arraylist currentData
の各要素を の各要素と比較するには時間がかかる可能性があるため、複雑さを軽減してこれを行うためのエレガントな方法は何でしょうかArrayList sarray
。