gwooden_코린이

java_set_221201(9일차) 본문

java/9일차

java_set_221201(9일차)

gwooden22 2022. 12. 1. 13:16
728x90

Set - 중복 불가, 순서 없음

package 컬렉션프레임워크;

import java.util.HashSet;

public class Set {

	public static void main(String[] args) {
		
		HashSet<String> set = new HashSet<>();
		
		set.add("Hello");
		set.add("java");
		set.add("World");
		
		//set은 순서가 없다
		System.out.println(set);

	}

}


		//위에서 set.add로 하나씩 추가하기 귀찮을때 아래 처럼 addAll로 한번에 추가도 가능
		set.addAll(Arrays.asList("HTML", "CSS", "JS"));
		
		System.out.println(set);

addAll로 추가하고 싶은 값 한줄에 넣는것도 가능


		set.add("Hello");
		set.add("java");
		set.add("World");
        
        set.addAll(Arrays.asList("HTML", "java", "JS"));
		
		System.out.println(set);

중복 안됨


		set.remove("java");
		
		System.out.println(set.remove("java"));
		
		System.out.println(set);

remove를 이용해 삭제하고 싶은 값 설정


TreeSet

TreeSet 나무 처럼 뻗어나간다고 생각하면 된다.
순차적으로 정렬되서 출력

package 컬렉션프레임워크;

import java.util.Arrays;
import java.util.TreeSet;

public class Sample05 {

	public static void main(String[] args) {
		
		// TreeSet 나무 처럼 뻗어나간다고 생각하면 된다.
		// 순차적으로 정렬되서 출력
		TreeSet ts = new TreeSet(Arrays.asList(4, 5, 10, 1, 7));
		
		System.out.println(ts);

	}

}


 

		HashSet s1 = new HashSet(Arrays.asList(1,2,3,4,5,6));
		HashSet s2 = new HashSet(Arrays.asList(4,5,6,7,8,9));
		
		//교집합 구하기
		// retainAll <-- 교집합
		
		s1.retainAll(s2);
		
		System.out.println(s1);

.retainAll 교집합 구하는 메서드를 이용해서 교집합 값 출력


		//s2에 대한걸 전부 출력시켜라
		s1.addAll(s2);
		System.out.println(s1);
		//중복된걸 없애버려 같은 값이 한번 더 출력되지는 않는다.

합집합


		s1.removeAll(s2);
		System.out.println(s1);


package 컬렉션프레임워크;

import java.util.SortedSet;
import java.util.TreeSet;

public class Main {

	public static void main(String[] args) {
		
		SortedSet set = new TreeSet(); //다형성에 형태
		
		String from = "bar";
		String to = "d";
		
		set.add("and");
		set.add("alist");
		set.add("batman");
		set.add("aha");
		set.add("cola");
		set.add("Cola");
		set.add("ddr");
		set.add("dance");
		set.add("dEEE");
		set.add("deee");
		set.add("ever");
		set.add("giant");
		set.add("zoo");
		
		System.out.println(set);
		

	}

}

아스키 코드 참조

C = 67, a = 97, b = 98, c = 99, d = 100, e = 101, g = 103, z = 122


		set.add("and");
		set.add("alist");
		set.add("batman");
		set.add("aha");
		set.add("cola");
		set.add("Cola");
		set.add("ddr");
		set.add("dance");
		set.add("dEEE");
		set.add("deee");
		set.add("ever");
		set.add("giant");
		set.add("zoo");
		
		System.out.println(set);
		System.out.println(set.subSet(from, to));


		set.add("and");
		set.add("alist");
		set.add("batman");
		set.add("aha");
		set.add("cola");
		set.add("Cola");
		set.add("ddr");
		set.add("dance");
		set.add("dEEE");
		set.add("deee");
		set.add("ever");
		set.add("giant");
		set.add("zoo");
		
		System.out.println(set);
		System.out.println(set.subSet(from, to));
		
		set = new TreeSet(new Descend());

Descend 내림차순


		set.add("and");
		set.add("alist");
		set.add("batman");
		set.add("aha");
		set.add("cola");
		set.add("Cola");
		set.add("ddr");
		set.add("dance");
		set.add("dEEE");
		set.add("deee");
		set.add("ever");
		set.add("giant");
		set.add("zoo");
		
		System.out.println(set);
        System.out.println(set.subSet(from, to));


		set.add("and");
		set.add("alist");
		set.add("batman");
		set.add("aha");
		set.add("cola");
		set.add("Cola");
		set.add("ddr");
		set.add("dance");
		set.add("dEEE");
		set.add("deee");
		set.add("ever");
		set.add("giant");
		set.add("zoo");
		
		System.out.println(set);
		System.out.println(set.subSet(to, from));

기존 from, to 순서를 to, from으로 변경해야지 정상 출력


 

package 컬렉션프레임워크;

import java.util.Comparator;

public class Descend implements Comparator {
	
	//오버라이딩
	//원래 있던걸 내용반 바꾼것
	public int compare(Object o1, Object o2) {
		
		Comparable c1 = (Comparable)o1;
		Comparable c2 = (Comparable)o2;
		
		return c1.compareTo(c2) * -1;
	}

}

 

728x90

'java > 9일차' 카테고리의 다른 글

java_lterator_221201(9일차)  (1) 2022.12.01
java_속도비교_221201(9일차)  (0) 2022.12.01
java_컬렉션 프레임워크_221201(9일차)  (0) 2022.12.01
java_정규식_221201(9일차)  (0) 2022.12.01
java_DecimalFormat_221201(9일차)  (0) 2022.12.01
Comments