자바 에서 set 집합 사용 방법

3035 단어 자바
1.HashSet 
java. util. HashSet 류 는 자바. util. set 인 터 페 이 스 를 실현 했다.
그것 은 다음 과 같은 특징 이 있다.
 1. 중복 요소 가 나타 나 지 않도록 합 니 다. 2. 집합 중의 원소 의 순 서 를 보장 하지 않 는 다. 3. 값 이 null 인 요 소 를 포함 할 수 있 지만, 최대 한 개의 null 요소 만 있 을 수 있 습 니 다.
다음 코드 는 hashSet 을 이용 하여 중복 되 지 않 는 그룹 Id 를 가 져 옵 니 다.
public static List getGroups(List resourceList) {
		Set set = new HashSet();
		for (Resource resource : resourceList) {
			if (StringUtils.isNotBlank(resource.groupIds)) {
				for (String groupId : StringUtils.split(resource.groupIds, ",")) {
					if (StringUtils.isNotBlank(groupId)) {
						set.add(Long.parseLong(groupId));
					}
				}
			}
		}
		return new ArrayList(set);
	}

2.TreeSet
TreeSet 은 정렬 등 기능 을 실현 할 수 있 는 집합 으로 대상 요 소 를 집합 에 추가 할 때 특정한 비교 규칙 에 따라 질서 있 는 대상 서열 에 자동 으로 삽입 합 니 다.
TreeSet 은 대상 을 어떻게 정렬 합 니까?TreeSet 지원 두 가지 정렬 방식: 자연 정렬 과 고객 화 정렬, 기본 적 인 상황 에서 자연 정렬 입 니 다.      JDK 에 서 는 Integer, Double, String 등 Comparable 인터페이스 에 compare To (Object o) 방법 이 있 습 니 다.      이것 은 정수 형식 을 되 돌려 줍 니 다. 표현 식 x. compare To (y) 에 대해 반환 값 이 0 이면 x 와 y 가 같 음 을 나타 내 고 반환 값 이 0 보다 크 면 x 가 y 보다 크 고 0 보다 작 으 면 x 를 나타 냅 니 다.      TreeSet 호출 대상 의 copare To () 방법 은 집합 대상 의 크기 를 비교 한 다음 에 오름차 순 서 를 정렬 하 는 방식 을 자연 정렬 이 라 고 합 니 다.   클 라 이언 트 정렬:       java. util. Comparator 인 터 페 이 스 는 구체 적 인 정렬 방식 을 지정 하 는 데 사 용 됩 니 다. compare (Object obj 1, Object obj 2) 가 있 습 니 다. 두 대상 의 크기 를 비교 하 는 데 사 용 됩 니 다.       표현 식 compare (x, y) 의 값 이 0 보다 크 면 x 는 y 보다 크 고 0 보다 작 으 면 x 는 y 보다 작 으 며 0 과 같 으 면 x 는 y 와 같 음 을 나타 내 고 TreeSet 을 Customer 대상 에 따라       name 속성 을 내림차 순 으로 배열 하면 Comparator 인 터 페 이 스 를 실현 하 는 클래스 CustomerComparator 를 먼저 만 들 수 있 습 니 다. 예 를 들 어:       import java.util.*;        public class CustomerComparator implements Comparator         {               public int compare(Object o1,Object o2)               {                      Customer c1=(Custoemr)o1;                      Customer c2=(Customer)o2;                     if(c1.getName().compareTo(c2.getName())>0) return -1;                     if(c1.getName().compareTo(c2.getName())<0) return 1;                     return 0;               }          }         다음은 TreeSet 의 인 스 턴 스 를 구성 할 때 TreeSet (Comparator comparator) 구조 방법 을 사용 합 니 다.             Set set=new TreeSet(new CustomerComparator());                Customer c1=new Customer("TOM",15);                Customer c2=new Customer("JACK",20);                Customer c3=new Customer("MIKE",38);                set.add(c1);set.add(c2);set.add(c3);               Iterator it=set.iterator();                while(it.hasNext())                 {Custoemr customer=(Customer)it.next();                   System.out.println(customer.getName()+""+customer.getAge();)                }          TreeSet 이 집합 에 Customer 대상 을 추가 할 때 Customer Comparator 류 의 compare () 방법 으로 정렬 합 니 다. 이상 Tree 는         Customr 대상 의 name 속성 을 내림차 순 으로 배열 하고 마지막 으로 출력 은:         TOM 15    MIKE 38 JACK 16

좋은 웹페이지 즐겨찾기