Java_List 요소 의 반복 과 삭제

2024 단어 Java
1.ArrayList 만 들 기
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)용기 의 큰 시간 을 옮 겨 다 니 며 수정 해 야 합 니 다(삭제 요소 삽입).교체 기 순환 만 사용 합 니 다.

좋은 웹페이지 즐겨찾기