나는 Student라는 클래스가 있습니다. 마리아, 알렉스, 로라, 블라드, 로렌, 캐서린 : 또한 나는 학생 A와 학생 B를두 객체의 ArrayLists 비교
명의 학생들 수있을 두 배열 목록을 가지고있다. 마리아, 알렉스
학생들 저장 프로 적절한 ID와 이름이 있습니다
학생 B는 일부 학생입니다. 그러나 학생 B는 이름 만 저장하고 하드 코드 된 ID를 저장했습니다.
나는이 두 가지 목록을 분리 이제 다음을 수행합니다 :마리아의 형태로 배열 A는 학생증이있는 경우 : 배열 B에서 2427
마리아 같은 학생 ID를 받아야합니다.
도와 주실 수 있습니까?
//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