데이터 구조의 집합 프레임 워 크

4162 단어 데이터 구조
데이터 구 조 는 데이터 와 그 상호 간 의 관계 (논리 관계) 로 보통 집합 구조, 선형 구조, 나무 구조, 도형 구조 로 요약 된다.
   일반적으로 이원 조 를 사용 하여 B = (K, R), B 는 데이터 구조 로 데이터 요소 의 집합 K 와 K 상의 이원 관계 의 집합 R 로 구성 된다.가운데:
                                      K={ki|i>=1&&i<=n,n>=0}
                                      R={rj|j>=1&&j<=m,m>=0}
ki (rj) 는 K (R) 의 i (j) 개 데이터 요 소 를 집합 하고 n (m) 은 K (R) 의 데이터 요소 의 개수 입 니 다.
    집합 구조: n! =0, m = 0 시 데이터 구 조 는 집합 구조 이 고 이때 데이터 구조 에는 요소 의 집합 만 존재 하 며 관계 가 있 는 집합 은 존재 하지 않 는 다.
    선형 구조: 요소 간 에 일대일 관계 가 존재 하 는 것 을 선형 구조 라 고 한다.일반적인 유형: 배열, 대기 열, 링크, 스 택.
    트 리 구조: 요소 간 에 한 쌍 이상 의 관계 가 존재 하 는 것 을 트 리 구조 라 고 한다.흔 한 유형: 나무 (예: 하프 만 나무)
    도형 구조: 요소 간 에 여러 쌍 의 관계 가 존재 하 는 것 을 도형 구조 라 고 한다.
여기 서 일단 집합 틀 을 말씀 드릴 게 요.
자주 사용 하 는 집합 은 세 가지 가 있다.
 1. Set (집합) 은 무질서 하고 중복 이 불가능 한 것 이 특징 이 며 Collection 인 터 페 이 스 를 계승 했다.
   set 인터페이스 에서 자주 사용 하 는 하위 클래스: HashSet ,TreeSet
   HashSet 을 예 로 들 면
public void testSet(){
		HashSet<String> set = new HashSet<String>();
                //    
		for(int i=0; i < 10; i++){
			String s = "str"+i;
			set.add(s);
		}
		
		//  ,    
		Iterator<String> it = set.iterator();
		while(it.hasNext()){
			//      
			String str = it.next();
			System.out.println(str);
		}
		
		//    for  
		for(String s : set){
			System.out.println(s);
		}
		
		set.remove("");//    
		set.contains("");//          
		set.clear();//    
		set.isEmpty();//       true
			
}

 
 2. List (목록: 배열 과 벡터, 링크, 스 택, 대기 열) 는 중복 가능 한 것 이 특징 이 고 대상 은 선형 이다.  방식 저장, 특정 순서 없 이 시작 과 끝 만 있 고 Collection 인 터 페 이 스 를 계승 합 니 다.
  List 인터페이스 에서 자주 사용 하 는 하위 클래스: ArrayList, LinkedList, Vector 
    Array List 를 예 로 들 면
public void testList(){
		//        ,  
		ArrayList<String> list = new ArrayList<String>();
		
		//      10      
		for(int i=0; i<10; i++){
			list.add("str"+i);
		}
		
		//                
		String s = list.remove(5);
		System.out.println("      :"+s);
		
		list.add(2, "      ");
		//  ,             
		int pos = list.indexOf("str3");
		System.out.println("    :"+pos);

        	//  
		list.set(1, "1111");
	
		//    
		for(int i=0; i<list.size(); i++){
			String str = list.get(i);
			System.out.println(str);
		}
		//   
		for(String ss : list){
			System.out.println(ss);
		}
}

 
 3. Map (맵), 두 개의 대상 을 저장 하고 key 와 value, 둘 다 대응 합 니 다.
   Map 인터페이스 에서 자주 사용 하 는 하위 클래스: HashMap, HashTable, TreeMap
   하 샤 맵 을 예 로 들 면
   
public void testMap(){
		HashMap<String, String> map = new HashMap<String, String>();
		
		//  ,value   
		map.put("111", "  ");
		map.put("222", "  ");
		map.put("111", "  ");
		
		//  key     ,       value
		map.remove("111");
		
		//  key   value
		String name = map.get("222");
		System.out.println(name);
		
		//    1,   value     
		Set<String> keySet = map.keySet();
		for(String key : keySet){
			System.out.println("key="+key);
			System.out.println("value="+map.get(key));
		}
		//    2,   value     
		Set<Entry<String,String>> entrySet = map.entrySet();
		for(Entry<String,String> entry : entrySet){
			System.out.println("key="+entry.getKey());
			System.out.println("value="+entry.getValue());
		}
		//    3,     value     
		Collection<String> values = map.values();
		for(String value : values){
			System.out.println("value="+value);
		}
}

 
 
  

좋은 웹페이지 즐겨찾기