컬렉션은 객체 지향 재사용성을 구현한 것입니다. 일반적으로 우리는 몇 가지 요소로 구성된 컬렉션을 총칭합니다. 컬렉션이라고 하며 세트라고도 합니다.
(1) 결정론적: A가 주어진 집합이고 x가 특정 개체라고 가정하면 A의 요소이거나 A의 요소가 아닙니다. (2) 상호성: 주어진 집합의 요소는 이 집합에 속한 다른 개체(객체)를 참조하므로 동일한 집합에 반복적으로 나타나서는 안 됩니다. (3) 무질서: 요소간의 순서는 일반적으로 고려하지 않으나, 시퀀스 등의 특별한 집합을 표현할 때에는 일반적으로 작은 것부터 큰 것까지 숫자축의 관습적인 순서로 쓴다
ArrayList 구현 방법: Array 구현 버전: 1.2 시기: 1998년 12월 출시 경량(빠른 실행) Thread unsafe(일반적으로 사용됨)
Vector 구현 방법: Array 구현 버전: 1.0 시기: 5월 출시 1995 중량급(느리게 실행) 스레드로부터 안전함
LinkedList 구현 방법: 연결 목록 구현
배열: 연속 공간 빠른 쿼리 속도 첨자에 직접 액세스 천천히 추가 및 삭제하려면 뒤에 추가 및 삭제가 필요함 데이터가 이동됨 뒤로 또는 앞으로
연결 목록: 노드 연결 쿼리 속도가 느림 이전 항목을 통해 다음 항목 찾기 추가 및 삭제 빠른 연결 목록 증가 이전 항목을 새 데이터를 직접 가리킴 다음 항목도 새 데이터를 가리킴
Vector는 쿼리 없는 추가 및 삭제를 수행하는 Stack Stack LIFO(Last In First Out) 클래스를 구현합니다.
a. c. Stack 클래스
Stack을 사용하여 클래스를 구현하는 것은 어떨까요? Vector는 실수로 Vector에서 상속하지만 스택은 pop 및 push만 가능하고 중간에 스택이 안전하지 않게 됩니다. Stack은 Vector를 상속하므로 Stack에는 존재해서는 안 되는 메서드가 많이 있습니다.
1 //用java创建一个栈 2 public class AStack { 3 public static void main(String[] args) { 4 Stacks s = new Stacks(); 5 s.push("lin"); 6 s.push("hello"); 7 s.push("hou"); 8 s.push(123); 9 System.out.println(s.pop());10 System.out.println(s.pop());11 System.out.println(s.pop());12 System.out.println(s.pop());13 }14 }15 class Stacks{16 //变继承复用为主核复用17 private LinkedList list = new LinkedList();18 public void push(Object o){19 list.addFirst(o);20 }21 public Object pop(){22 Object o = list.removeFirst();23 return o;24 }25 }
요소: 키 - 값 쌍(키-값 쌍)
특징: 에 해당하는 키 콘텐츠 고유한 반복 불가능 키 값 사용 가능 반복 장애
사용법: 키로 값 찾기
예: 사전 단어 - 설명 웹사이트 사용자 이름 - 비밀번호
주요 방법:
1.put(객체 k, 객체 v): 키-값 쌍 k-v를 맵에 넣습니다. k가 이미 존재하는 경우 새 v가 이전 v
2.get(객체 k)을 대체합니다. Return v
3.remove(Objeck k): k가 위치한 키-값 쌍을 삭제합니다
4.containsKey(Object k): K가 맵에 존재하는지 확인
5.containsValue(Object v): v가 맵에 존재하는지 확인
Map 3가지 유형의 순회
1 값 순회
1 Collection c = map.values();2 Iterator i = c.iterator();3 while(i.hasNext()){4 System.out.println(i.next());5 }
2. 키 순회
1 Set s = map.keySet();2 Iterator i = s.iterator();3 while(i.hasNext()){4 Object k = i.next();5 Object v = map.get(k);6 System.out.println(k+"+++"+v);7 }
3. 키 값 순회
Map.Entry 객체는 키와 값을 캡슐화합니다
1 Set set = map.entrySet();2 Iterator i = set.iterator();3 while(i.hasNext()){4 Map.Entry me = (Map.Entry)i.next();5 System.out.println(me.getKey());6 System.out.println(me.getValue());7 }
구현 클래스:
1.HashMap :1.2 키 또는 값으로 null을 허용
2.Hashtable :1.0은 키 또는 값으로 null을 허용하지 않습니다
3 속성: Hashtable의 하위 클래스 키와 값은 모두 문자열이며 일반적으로 구성 파일을 읽는 데 사용됩니다
4.TreeMap: SortcdMap(Map의 하위 인터페이스)을 구현하여 키를 자동으로 정렬합니다
-- ------------------------------------------------ -- ------------------------------------------------ -- ----------------------------- 입니다 위에 적힌 내용이 잘못되었다면 전문가의 지적을 환영합니다. 소통을 원하시면 제 이메일 주소 1206835721@qq.com
로 메일을 보내주세요.위 내용은 일반적으로 사용되는 컬렉션 구현 클래스 간의 차이점은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!