1. Java Collection Framework 개요
Java SE에는 일련의 클래스 및 인터페이스로 구성된 JCF (Java Collection Framework)가 포함되어 있습니다. 주요 기능은 특정 구조로 저장된 데이터를 구성하고 특정 방식 으로이 데이터에 액세스하는 것입니다. 목표는 객체 컬렉션을 처리하기위한 일반적인 프레임 워크를 제공하고 다른 객체 컬렉션을 처리 할 때 프로그래머가 사용하는 인코딩의 양을 줄이는 것입니다.
중복 요소 작업을 지원하는지 여부와 더불어 수집 클래스의 일부 차이에는 요소가 순서대로 있는지 및 널 요소가 추가 될 수 있는지 여부가 포함됩니다. Java Collection 프레임 워크 의이 세 가지 차이점에 따르면, 객체의 저장 방법은 세 가지 유형으로 나뉩니다.
객체의 정렬 및 트래버스 액세스 작업을 지원하기 위해 Java Collection 프레임 워크에 여러 인터페이스가 제공됩니다.
2. 수집 인터페이스 및 반복자 인터페이스
수집 객체에서 공유하는 몇 가지 기본 방법은 컬렉션 인터페이스에 정의되어 있습니다.
| 방법 | 설명하다 |
| int size () | 현재 컬렉션에 포함 된 요소 수를 반환합니다. |
| isempyt () | 세트에 요소가 포함되어 있는지 확인하십시오 |
| 부울이 포함되어 있습니다 (Object O) | 지정된 요소가 컬렉션에 포함되어 있는지 확인 |
| 추가 (Object O) | 컬렉션에 요소를 추가하십시오 |
| 제거 (Object O) | 컬렉션에서 요소를 삭제하십시오 |
| 반복자 iterator () | 컬렉션의 다양한 요소에 액세스하려면 Traverser를 반환합니다. |
반복자 인터페이스는 컬렉션을 가로 지르는 데 사용되는 인터페이스입니다.
| 방법 | 설명하다 |
| hasnext () | 컬렉션에 더 많은 요소가 있으면 메소드가 True를 반환합니다. |
| 다음() | 컬렉션의 다음 요소를 반환하십시오 |
| 제거하다() | 반복자가 반환 한 마지막 요소를 삭제하십시오 |
1. 인터페이스를 목록에 올리십시오
목록 인터페이스는 컬렉션 인터페이스에서 상속되며 다음과 같은 특성이 있습니다.
목록 인터페이스에 가장 일반적으로 사용되는 구현 클래스는 ArrayList 클래스 및 LinkedList 클래스입니다.
1) .Arraylist
Program example:
패키지 레이; java.util.arraylist 가져 오기; Java.util.list 가져 오기; 공개 클래스 테스트 {public static void main (String [] args) {list list = new arraylist <> (); list.add (1); list.add ( "Zhangsan"); list.add (false); list.add ( 'a'); list.add (0, "lisi"); list.add (1); list.remove (1); list.remove (2); list.set (0, "Wangwu"); for (int i = 0; i <list.size (); i ++) {system.out.println (list.get (i)); }}}객체 클래스에 의해 정의 된 equals () 메소드는 객체가 메소드에 전달되고 메소드를 호출하는 객체가 동일한 객체 일 때만 true를 반환합니다. 동일한 상태를 가진 두 개의 객체는 equals () 메소드를 덮어 쓰면 동일한 객체로 간주 될 수 있습니다.
2) .linkedlist
| 방법 | 설명하다 |
| void addfirst | 링크 된 목록의 시작 부분에 개체 추가 |
| void addlast | 링크 된 목록 끝에 객체 추가 |
| getfirst () | 링크 된 목록에서 첫 번째 요소를 반환하십시오 |
| getLast () | 링크 된 목록에서 마지막 요소를 반환하십시오 |
| removefirst () | 링크 된 목록에서 첫 번째 요소를 삭제하십시오 |
| removelast () | 링크 된 목록에서 마지막 요소를 삭제하십시오 |
Program example:
패키지 레이; java.util.linkedList 가져 오기; Java.util.list 가져 오기; public class test2 {public static void main (String [] args) {LinkedList l = new LinkedList <> (); l.add ( "Zhangsan"); l.add ( "lisi"); l.addfirst (1); l.addlast (4); System.out.println (l.getfirst ()); System.out.println (l.getlast ()); l.removefirst (); l.removelast (); for (int i = 0; i <l.size (); i ++) {system.out.println (l.get (i)); }}}Linkedlist 대 배열리스트 선택
목록에 빠르게 액세스해야하지만 요소를 자주 삽입하고 삭제하지 않으면 ArrayList를 선택하는 것이 좋습니다. 목록을 자주 삽입 및 삭제 해야하는 경우 LinkedList를 선택해야합니다.
2. 인터페이스를 세트하십시오
세트 인터페이스는 컬렉션 인터페이스에서 상속하고 컬렉션 인터페이스의 모든 메소드를 상속합니다. 세트 인터페이스에는 다음과 같은 특성이 있습니다.
세트 인터페이스를 구현하는 데 가장 일반적으로 사용되는 것은 Hashset 클래스와 TreeSet 클래스입니다.
1)
해시 세트 클래스는 해시 알고리즘을 기반으로 한 설정 인터페이스 구현입니다. 다음 특성이 있습니다.
우리가 쓴 클래스가 평등 메소드를 재정의하는 경우,이 클래스는 hashcode () 메소드를 재정의하고 두 객체의 결과가 평등 메소드와 비교 될 때 두 객체의 hashcode () 메소드의 리턴 값이 동일하도록해야합니다.
Program example:
패키지 레이; java.util.hashset 가져 오기; java.util.set import; public class test4 {public static void main (String [] args) {set <string> set = new Hashset <String> (); set.add ( "Zhangsan"); set.add ( "lisi"); for (string s : set) {system.out.println (s); }}}2) .Treeset
TreeSet 클래스는 클래스 세트 인터페이스를 구현할뿐만 아니라 SortedSet 인터페이스를 구현하여 컬렉션의 객체가 특정 순서로 정렬되도록합니다. 객체가 treeset 컬렉션에 추가되면 순서 대상 객체 시퀀스에 삽입되지만 객체가 추가되는 순서대로 정렬되지 않지만 특정 알고리즘에 따라 정렬됩니다.
TreeSet은 요소의 자연 순서로 요소를 정렬하거나 세트가 생성 될 때 제공된 비교기에 따라 정렬합니다. TreeSet은 두 가지 정렬 방법의 자연 분류 및 사용자 정의 정렬을 지원합니다.
3. 인터페이스 맵
MAP (Map) 인터페이스는 컬렉션 인터페이스와 다른 Java Collection Framework의 또 다른 중요한 인터페이스입니다. 키에서 값에 이르기까지 해당 관계 모음에 해당합니다. 맵 객체 컨테이너에는 두 개의 객체 그룹이 있으며, 한 객체 그룹은 맵에 키를 저장하는 데 사용되며 다른 그룹은 값을 저장하는 데 사용됩니다. 키 및 값은 모든 참조 유형의 데이터를 업그레이드 할 수 있습니다. 키를 반복 할 수는 없지만 값을 반복 할 수 있습니다.
1). 하쉬 맵
Hashmap은 해시 알고리즘을 기반으로 한 맵 인터페이스를 구현 한 것입니다. 해시 맵은 유지 보수를 위해 해시 테이블에 키를 저장하고 키는 고유합니다. 그러나 Hashmap은 키가 특정 순서로 배열되며 특히 주문이 영구적으로 변경되지 않음을 보장하지 않습니다.
해시 맵 클래스는 맵 인터페이스를 구현하여 맵 인터페이스의 모든 메소드를 갖습니다.
패키지 Day1228; java.util.*; public class hashmapdemo {public static void main (string [] args) {// 새 해시 맵 맵 생성 <문자열, 문자열> map = new Hashmap <string, string> (); map.put ( "a1", "xiao"); map.put ( "B2", "Xiaol"); map.put ( "a4", "xiaosd"); map.put ( "b1", "12a"); map.put ( "a3", "1"); // ITERATOR를 사용하여 키 및 값 System.out.println ( "지도 값이 다음과 같습니다."); <string> keys = map.keyset (); for (iterator <string> i = keys.iterator (); i.hasnext ();) {String key = i.next (); 문자열 값 = map.get (키); System.out.println (key + "=" + value); } // 키로 "a4"system.out.println으로 값을 삭제합니다 ( "/ndelete key 값 a4로 요소"); map.remove ( "a4"); // // ITERATOR를 사용하여 키와 값 System.out.println ( "/n 맵 값 :"); 키 = map.keyset (); for (iterator <string> i = keys.iterator (); i.hasnext ();) {String key = i.next (); 문자열 값 = map.get (키); System.out.println (key + "=" + value); }}}2) .TreeMap
Treemap 클래스는 빨간색 및 검은 색 트리 알고리즘을 기반으로 한 MAP 인터페이스 구현입니다. Treemap의 키의 저장 방법은 TreeSet과 유사합니다. 키를 나무에 저장하고 키 순서는 자연 순서 또는 사용자 정의 순서로 배열됩니다.
Program example:
패키지 Day1228; java.util.*; public class treemapdemo {public static void main (String [] args) {// 새 treemap 맵 생성 <integer, string> map = new Treemap <integer, string> (); map.put (1, "one"); map.put (2, "2"); map.put (3, "Three"); map.put (4, "Four"); map.put (5, "5"); // ITERATOR를 사용하여 키 및 값을 표시합니다. <integer> keys = map.keyset (); for (Object Key : Keys) {String value = map.get (키); System.out.println (key+"="+value); } // 키 3 system.out.println의 값을 삭제합니다 ( "/ndelete key 값 3"); Map.remove (3); // ITERATOR를 사용하여 키 및 값 System.out.println ( "/n 이후의 값은 :")을 표시합니다. for (Object Key : Keys) {String value = map.get (키); System.out.println (key+"="+value); }}}위는이 기사의 모든 내용입니다. 이 기사의 내용이 모든 사람의 연구 나 업무에 도움이되기를 바랍니다. 또한 wulin.com을 더 지원하기를 바랍니다!