를위한 대를 포함하는 I 객체가 나는가() 메소드가 포함되어 사용할 수 있습니다 ArrayList에에 있는지 여부를 찾고자하는 경우 :자바의 ArrayList는 그것은 알려져 루프
if(arraylist.contains(obj)) { // do things }
또는 나는을 위해 사용할 수 루프 (I은 등호() 메소드 오버로드 것을 제공) : 그것은 다른 게시물에 언급 된 바와 같이
for(Object o : arraylist) {
if(obj.equals(o)) {
// do things
}
}
이 포함()를 실제로 루프와 등호() 메서드 내부에서의 사용합니다. 그러므로, 제 질문은 arraylist가 더 커질 때 contains()가 더 많은 시간을 가질 것으로 기대하는 것이 논리적입니까?
"for 루프"를 피하기 위해 contains()을 사용하므로 런타임이 낮고 일정하게 유지되기 때문에이 코드를 사용하고 있습니다. 그러나 arraylist 크기가 커지면 코드가 상당히 느리게 실행됩니다. .
입니다 . – Vallentin
@Vallentin 그것은 내가 생각하고 있던 것입니다. 하지만 수동으로 작성한 for 루프 대신 contains()를 사용하면 성능상의 이점이 없거나 적어도 중요한 것은 아닙니다. 맞습니까? – Kotsos
확실히 arraylist의 크기가 증가하면 느려질 것입니다. 'contains()'의 사용법은 한 줄로되어있어 for 루프보다 읽기 쉽고 더 쉬울 것입니다. –