Java_List 요소 의 반복 과 삭제
2024 단어 Java
List list = new ArrayList();
2.List 에서 자주 사용 하 는 옮 겨 다 니 는 방법 은 세 가지 가 있 습 니 다.
(1)다음 순환
for (int i = 0, len = list.size(); i < len; i++) {
System.out.print(list.get(i).toString());
}
설명:
1)가장 일반적인 방법
2)아이디어 단축 키:itar+Tab 또는 fori+Tab
(2)각 순환 에 대한
for (Integer elem : list) {
System.out.print(elem.toString());
}
설명:용기 길 이 를 수정 하지 않 고 용기 만 옮 겨 다 닐 때 추천 합 니 다.
1)장점:코드 가 간결 하고 아름 답 습 니 다.색인 이 존재 하지 않 기 때문에 아래 표,초기 값,크로스 오 버 여부 등에 관심 을 가 질 필요 가 없습니다.
2)단점:용기 에 있 는 요 소 를 삭제 하면 오류 가 발생 하기 쉽다.
3)아이디어 단축 키:iter+Tab 또는 i+Tab
(3)교체 기 순환
for (Iterator iter = list.iterator(); iter.hasNext(); ) {
System.out.print(iter.next());
}
혹은
Iterator iter = list.iterator();
while (iter.hasNext()) {
System.out.print(iter.next());
}
설명:용기 에 있 는 요 소 를 삭제 할 때 교체 기 순환 을 사용 하 는 것 이 좋 습 니 다.
1)장점:용기 의 요 소 를 삭제 할 수 있다.
2)아이디어 단축 키:itco+Tab
3.세 가지 옮 겨 다 니 는 방법의 효율 비교
글 참조:ArrayList 와 LinkedList 의 몇 가지 순환 스 트 리밍 방식 및 성능 비교 분석
여기 서 이 글 은 총괄 적 으로 다음 과 같다.
(1)Array List 에 있어 서:
1)속도 상 으로 는 foreach 와 교체 기의 순환 속도 가 많 지 않 지만 아래 표 시 된 것 보다 느리다.
2)통합 인 코딩 난이도,집합 만 옮 겨 다 닐 때 for each 만 사용
(2)LinkedList 에 대해 말하자면:
1)속도 상 으로 는 foreach 와 교체 기 순환 속도 가 많 지 않 지만 아래 표 시 된 것 보다 훨씬 빠르다.
2)통합 인 코딩 난이도,집합 만 옮 겨 다 닐 때 for each 만 사용
설명:
(1)LinkedList 에 대해 GetAt 방법 은 링크 를 한 번 에 옮 겨 다 녀 야 합 니 다.그 시간 복잡 도 는 O(n)이기 때문에 다음 표 시 를 사용 할 때 속도 가 느 리 고 단 계 는 n^2 입 니 다.
(2)ArrayList 에 대해 GetAt 방법 은 아래 표 시 를 직접 사용 하고 시간 복잡 도 는 O(1)이 므 로 다음 표 시 를 사용 할 때 시간 이 걸 리 고 단 계 는 n 이다.
요약:Array List 든 LinkedList 든
(1)용기 크기 를 수정 하지 않 고 옮 겨 다 니 며 foreach 순환 만 사용 합 니 다.
(2)용기 의 큰 시간 을 옮 겨 다 니 며 수정 해 야 합 니 다(삭제 요소 삽입).교체 기 순환 만 사용 합 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
JPA + QueryDSL 계층형 댓글, 대댓글 구현(2)이번엔 전편에 이어서 계층형 댓글, 대댓글을 다시 리팩토링해볼 예정이다. 이전 게시글에서는 계층형 댓글, 대댓글을 구현은 되었지만 N+1 문제가 있었다. 이번에는 그 N+1 문제를 해결해 볼 것이다. 위의 로직은 이...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.