私はクラスStudentを持っています。 また、生徒Aと生徒Bの2つの配列リストがあります。オブジェクトの2つのArrayListを比較する
生徒Aは、Maria、Alex、Lora、Vlad、Lauren、Catherineです。マリア、アレックス
生徒A保存され、適切なIDと名前を持っています
学生Bはからいくつかの学生があります。 しかし、生徒Bは名前とハードコードされたIDだけを保存しています。
私は、これら二つのリストを分離し、今、次の操作を行いたい:
マリアのフォームの配列Aには学生証があれば:2427
マリア・アレイBからは、同じ学生証を受ける必要があります。
あなたは私にそれを手伝ってもらえますか?
//array lists of students a and b
public void common(){
ArrayList<ArrayList<Student>> lists = new ArrayList<ArrayList<Student>>();
lists.add(a);
lists.add(b);
System.out.println(getCommonElements(lists));
for (int i = 0; i < lists.size(); i++) {
aa = lists.get(0);
bb = lists.get(1);
}
System.out.println(aa);
System.out.println(bb);
}
public static <T> Set<T> getCommonElements(Collection<? extends Collection<T>> collections) {
Set<T> common = new LinkedHashSet<T>();
if (!collections.isEmpty()) {
Iterator<? extends Collection<T>> iterator = collections.iterator();
common.addAll(iterator.next());
while (iterator.hasNext()) {
common.retainAll(iterator.next());
}
}
return common;
}
ありがとうございます! これはなぜうまくいかないのですか?
for (int i = 0; i < a.size(); i++) {
for (int j = 0; j < b.size(); j++) {
if(a.get(i).getName().equals(b.get(j).getName())){
//does not go there at all
}
}
}
あなたの宿題が主にダンプされているように聞こえるし、教師があなたに記入することを期待する「テンプレート」コードがあります。あなたは、私たちが具体的な質問をするのを手伝っているのです。 – GhostCat
AからBまでの対応する名前に対応するIDを入力しようとしていますか? – vijayraj34
はい。問題は:私は既にAのすべての適切なIDを持っています。これらのIDを対応する名前でB ArrayListに設定する必要があります。 – Julia