자바 의 집합 프레임 워 크

콘 셉 트
자바 의 집합 클래스:도구 클래스 입 니 다.용기 처럼 임의의 수량 을 저장 하 는 공통 속성 을 가 진 대상 입 니 다.
집합의 작용
 
 
집합 프레임 의 종류:
collection 과 map 는 모두 인터페이스 이 므 로 예화 할 수 없습니다.
List 와 Queue 는 질서 가 있 고 중복 이 가능 하 며 Set 는 무질서 하고 중복 이 불가능 합 니 다.
 
list 요소 추가 두 가지 add 방법
1.직접 추가 하고 요 소 는 팀 끝 에 추가 합 니 다.
대상 저장 집합 은 모두 object 형식 으로 변 합 니 다.꺼 낼 때 형식 변환 이 필요 합 니 다.
2.지 정 된 위치 추가,지 정 된 위치(0 부터)는 대기 열의 길 이 를 초과 할 수 없습니다.그렇지 않 으 면 오류 가 발생 합 니 다(배열 아래 표 시 된 경 계 를 넘 습 니 다).
list 의 두 가지 addAll 방법:클래스 를 추가 하 는 배열

public void testAdd(){
  //add   
  Course cr1 = new Course("1", "   ");
  coursesToSelect.add(cr1);
  Course temp = (Course)coursesToSelect.get(0);
  System.out.println("     :"+temp.id+":"+temp.name);
  //add   ,       
  Course cr2 = new Course("2", "   ");
  coursesToSelect.add(0, cr2);;
  Course temp2 = (Course)coursesToSelect.get(0);
  System.out.println("     :"+temp2.id+":"+temp2.name);
  //addAll       
  Course[] cr34 = {new Course("3", "   "), new Course("4", "   ")};
  coursesToSelect.addAll(Arrays.asList(cr34));//       
  Course temp3 = (Course)coursesToSelect.get(2);
  Course temp4 = (Course)coursesToSelect.get(3);
  System.out.println("       :"+temp3.id+":"+temp3.name+
    ";"+temp4.id+":"+temp4.name);
  //addAll       ,       
  Course[] cr56 = {new Course("5", "   "), new Course("6", "   ")};
  coursesToSelect.addAll(2, Arrays.asList(cr56));
  Course temp5 = (Course)coursesToSelect.get(2);
  Course temp6 = (Course)coursesToSelect.get(3);
  System.out.println("       :"+temp5.id+":"+temp5.name+
    ";"+temp6.id+":"+temp6.name);
 }
목록 옮 겨 다 니 기
1.for 반복

/**
  *   List       
  * @param args
  */
 public void testGet(){
  int size = coursesToSelect.size();
  System.out.println("       :");
  for(int i=0; i<size;i++){
   Course cr = (Course)coursesToSelect.get(i);
   System.out.println("  :"+cr.id+":"+cr.name);
  }
 }
2.교체 기 를 통 해 List 를 옮 겨 다 니 고 교체 기 는 집합 중의 요 소 를 옮 겨 다 니 는 것 일 뿐 그 자체 가 요 소 를 저장 하 는 기능 을 가지 지 않 습 니 다.어떤 집합 에 의존 해 존재 하 는 것 이 라 고 할 수 있 고 독립 적 으로 존재 할 수 없다.

/**
  *         List
  * @param args
  */
 public void testIterator(){
  Iterator it = coursesToSelect.iterator();
  System.out.println("       (   ):");
  while(it.hasNext()){
   Course cr = (Course)it.next();//Iterator next  
   System.out.println("  :"+cr.id+":"+cr.name);
  }
 }
3.for each 방법 으로 집합 요소 에 접근

/**
  *   for each         
  * @param args
  */
 public void testForEach(){
  System.out.println("       (for each):");
  for(Object obj:coursesToSelect){
   Course cr = (Course)obj;//         Object  ,    
   System.out.println("  :"+cr.id+":"+cr.name);
  }
 }
List 의 요 소 를 수정 합 니 다.List 에 Set 방법 이 있어 요.

/**
  *   List    
  * @param args
  */
 public void testModify(){
  coursesToSelect.set(4, new Course("7", "   "));
 }
List 의 요 소 를 삭제 합 니 다.add 와 비슷 합 니 다.reove 와 removeAll 두 가지 가 있 습 니 다.

/**
  *   List    
  * @param args
  */
 public void testRemore(){
  Course cr = (Course)coursesToSelect.get(4);
  System.out.println("    :"+cr.id+":"+cr.name+",       ");
  coursesToSelect.remove(cr);
  System.out.println("   。。");
  testForEach();//        
 }
위 reove()에서 도 색인 아래 표 시 를 직접 넣 으 면 바로 삭제 할 수 있 습 니 다.remove(4)
removeAll 은 한 집합 에서 다른 집합 에 있 는 모든 요 소 를 삭제 합 니 다.

public void testRemore(){
  Course[] courses={(Course)coursesToSelect.get(3),(Course)coursesToSelect.get(4)};
  System.out.println("    :3,4,       ");
  coursesToSelect.removeAll(Arrays.asList(courses)); 
  System.out.println("   。。");
  testForEach();//        
 }
**실제 작성 코드 에 서 는 각 클래스 의 속성 이 개인(private)이 고 사용 할 때 getXX 나 setXX 를 사용 하 는 것 이 좋 습 니 다.

private String id;
public String getId(){
 return id;
}
public String setId(){
 this.id=id;
}
이상 은 본 고의 모든 내용 입 니 다.본 고의 내용 이 여러분 의 학습 이나 업무 에 어느 정도 도움 이 되 기 를 바 랍 니 다.또한 저 희 를 많이 지지 해 주시 기 바 랍 니 다!

좋은 웹페이지 즐겨찾기