자바 - list 클래스

6033 단어
리스트 클래스
List 집합 하위 구현 클래스 의 특징:
ArrayList:
바 텀 데이터 구 조 는 배열 의 형식 으로 배열 구조의 특징 을 만족시킨다. 조회 가 빠 르 고 삭제 가 느리다.
스 레 드 안전 문 제 를 보면 스 레 드 가 안전 하지 않 고 동기 화 되 지 않 으 며 집행 효율 이 높다.
Array List 는 List 집합 의 자체 실현 클래스 이기 때문에 요 소 는 중복 되 고 저장 과 추출 이 일치 합 니 다.
Vector:
바 텀 데이터 구 조 는 배열 의 형식 으로 조회 가 빠 르 고 삭제 가 느리다.
스 레 드 측면 에서 볼 때 스 레 드 안전 클래스, 동기 화, 실행 효율 이 낮 습 니 다.
고유 기능:
public void addElement (E obj) --- - > 는 add (Object e) 에 해당 합 니 다.
public Enumeration elements () --- > 는: Iterator iterator () 에 해당 합 니 다.
Enumeration 인터페이스: 벡터 구성 요 소 는 두 가지 방법 이 있 습 니 다.
boolean hasMoreElements (): --- > 는 hasNext () 에 해당 합 니 다.
Object nextElement (): --- --- -- > 는 next () 에 해당 합 니 다.
public class VectorDemo {
	public static void main(String[] args) {
		Vector v=new Vector();
		v.addElement("I");
		v.addElement("Love");
		v.addElement("   ");
		//  
		Enumeration en=v.elements();
		while(en.hasMoreElements()){
			String s=(String)en.nextElement();
			System.out.println(s);
		}
	}
}

LinkedList:
바 텀 데이터 구 조 는 링크 목록 입 니 다. 특징: 조회 가 느 리 고 삭제 가 빠 릅 니 다.
스 레 드 측면 에서 볼 때 스 레 드 가 안전 하지 않 은 클래스 로 동기 화 되 지 않 고 실행 효율 이 높다.
고유 기능:
기능 추가:
public void addFirst (E) 는 이 목록 의 시작 에 지정 한 요 소 를 삽입 합 니 다.
public void addLast (E) 는 이 목록 의 끝 에 지정 한 요 소 를 추가 합 니 다.
가 져 오기 기능:
public Object getFirst () 이 목록 의 첫 번 째 요 소 를 되 돌려 줍 니 다.
public Object getLast () 는 이 목록 의 마지막 요 소 를 되 돌려 줍 니 다.
삭제 기능:
public Object removeFirst () 이 목록 의 첫 번 째 요 소 를 제거 하고 되 돌려 줍 니 다.
public Object removeLast () 이 목록 의 마지막 요 소 를 제거 하고 되 돌려 줍 니 다.
import java.util.LinkedList;

public class LinkedListDemo {
	public static void main(String[] args) {
		LinkedList list=new LinkedList();
		//             
		list.addFirst("I");
		list.addFirst("Love");
		list.addFirst("   ");
		System.out.println(list);
		System.out.println("---------");
		//    
		System.out.println(list.getFirst());
		System.out.println(list.getLast());
		System.out.println("---------");
		//    
		list.removeFirst();
		list.removeLast();
		System.out.println(list);
	}
}

결 과 는:
[입 화주, Love, I] --------------------- [Love]
LinkedList 는 스 택 구조의 특징 을 모 의 합 니 다.
표현: 스 택 집합 류 를 사용자 정의 한 다음 에 링크 드 List 의 일부 특유 한 기능 을 사용 하여 스 택 구조 특징 을 모 의 합 니 다. 링크 드 List 집합 특유 의 기능: addFirst (Object e) 스 택 구조의 특징: 선진 적 인 후 출.
다 중 스 레 드 프로그램 이 실행 되면 일반적으로 안전 한 클래스: StringBuffer, Vector, hashtable.
일반적인 수요 에서 집합 을 사용 하여 완성 하 는 것 을 가리 키 지 않 으 면 기본적으로 Array List 를 사용 합 니 다. 필요 할 때 스 레 드 안전 을 고려 하려 면 Vector 집합 을 사용 하 십시오!
필기시험 과정 에서 일부 수 요 는 집합 에 사용 된다. 바로 Array List 를 사용 하 는 것 이다.
범 형: 데이터 형식의 명확 한 작업 을 생 성 대상 이나 호출 방법 으로 앞 당 겨 명확 한 특수 유형 을 제공 합 니 다. 매개 변수 화 유형 은 매개 변수 처럼 전달 할 수 있 습 니 다.
형식:
: 범 형 은 인용 형식 만 넣 을 수 있 습 니 다.
일반적인 장점:
1) 운행 시 기 를 이상 하 게 컴 파일 시기 로 앞 당 겼 다.
2) 황색 경고 선 문제 해결
3) 데 이 터 를 가 져 올 때 형식 변환 을 강제 하지 않 아 도 됩 니 다.
일반적인 고급: 어댑터
>: Object 형식 및 임의의 자바 클래스 를 포함 하여 임의의 형식 일 수 있 습 니 다.
extends E >: 아래 한정, E 유형 및 E 유형의 하위 클래스
슈퍼 E >: 위로 한정, E 타 입 및 E 타 입의 부모 클래스
관련 코드:
import java.util.ArrayList;
import java.util.Collection;

public class GenericDemo {
	public static void main(String[] args) {
		//        
		Collection c=new ArrayList() ;
		//>:       ,  Object       Java 
		Collection> c1=new ArrayList();
		Collection> c2=new ArrayList();
		Collection> c3=new ArrayList();
		// extends E>:    ,E    E     
		Collection extends Object> c4=new ArrayList();
		Collection extends Animal> c5=new ArrayList();
		Collection extends Animal> c6=new ArrayList();
		// super E>:    ,E    E     
		Collection super Object> c7=new ArrayList();
		Collection super Animal> c8=new ArrayList();
	}
}
class Animal{
	
}
class cat extends Animal{
	
}

증강 for 순환:
쓰기 형식:
  for (집합 또는 배열 의 데이터 형식 변수 이름: 집합 또는 배열 의 대상 이름) {
출력 변수 이름;
}
for 순환 의 폐단 강화:
배열 이나 집합 을 옮 겨 다 닐 때 배열 대상 이나 집합 대상 은 null 일 수 없습니다.
대상 이 비어 있 으 면, 일반적으로 비 공 판단 을 더 합 니 다.
증강 for 순환 의 출현 은 교체 기 를 대체 하여 집합 을 옮 겨 다 니 는 것 입 니 다. 이후 개발 에 서 는 증강 for 로 요 소 를 옮 겨 다 니 는 것 입 니 다.
관련 코드:
import java.util.ArrayList;


public class forDemo {
	
	public static void main(String[] args) {
		
		//      ,     
		int[] arr = {11,22,33,44,55} ;
		
		//  for     
		for(int x = 0 ; x < arr.length ; x ++){
			System.out.println(arr[x]);
		}
		
		System.out.println("-------------------");
		
		//    for  
		for(int i :arr){
			System.out.println(i);
		}
		
		System.out.println("-------------------");
		
		//         ,   
		String[] strArray = {"hello","world","java"};
		//      for  
		for(String s : strArray){
			System.out.println(s);
		}
		System.out.println("-------------------");
		//  ArrayList    ,       
		ArrayList array = new ArrayList() ;
		//    
		array.add("hello") ;
		array.add("world") ;
		array.add("java") ;
	
		//    for     
		for(String s :array){
			//        
			//java.util.ConcurrentModificationException
			////          "world",        
			if("world".equals(s)){
				array.add("javaee") ;
			}
		}
		
		System.out.println("-------------------");
		
		/*	array = null ;
		//java.lang.NullPointerException:     
		if(array!=null){
			//  for  
			for(String s:array){
				System.out.println(s);
			}
		}*/
	}
}

좋은 웹페이지 즐겨찾기