값이 (ID, Post, Sarcina) 인 Elementfisa라는 엔티티가 있습니다. 이제 Post (Int ID, String Nume, String Tip) 및 Sarcina (Int Id, String Desc)도 엔티티입니다. Elementfisa로 추가 한 모든 요소의 목록이 있으며 모든 Elementfisa에 포함 된 모든 Sarcina의 빈도를 별도의 목록에 넣고 싶습니다. 이것은 지금 내 코드는 다음 sarcini 목록은 모든 Elementfisa의 모든 사르시나를 포함하는 동안엔티티 목록의 값 빈도
이int nr=0;
List<Integer> frecv=new ArrayList<Integer>();
List<Sarcina> sarcini = new ArrayList<>();
List<Elementfisa> efuri=findEFAll();
for (Elementfisa i : efuri)
{
nr=0;
for (Sarcina s : sarcini)
if (s.equals(i.getSarcina()))
nr=1;
if (nr==0)
{
int freq = Collections.frequency(efuri, i.getSarcina());
sarcini.add(i.getSarcina());
frecv.add(freq);
}
}
(findEFAll()가 저장소에서 해시 맵에 포함 된 모든 요소를 반환) 그러나 어떤 이유로, 주파수 목록 모든 위치에 0이 표시됩니다. 모든 위치가 정확한 발생 횟수를 나타내도록 변경해야하는 것은 무엇입니까?
이 비어 efuri인가? – Moira
아니요, Elementfisa 엔티티 (id, Post, Sarcina)가 포함되어 있습니다. – Artyomska
if (nr == 0)을 if (! sarcini.contains (i.getSarcina()))로 대체하고 'nr 암호. 또한, 당신은'equals()'를 오버라이드 시켰습니까? – Moira