package sets;

import java.util.*;

public class Sets {

	public static void main(String[] args) {
		
		// unordered
		
		HashSet<String> HS = new HashSet<String>();
		
		HS.add("horse");
		HS.add("cow");
		HS.add("pig");
		HS.add("turkey");
		HS.add("horse");
		HS.add("horse");
		HS.add("turkey");
		HS.add("cow");
		HS.add("chicken");
		HS.add("goat");
		HS.add("duck");
		HS.add("sheep");
		
		// ordered 
		
		TreeSet<String> TS = new TreeSet<String>(HS);
		
		System.out.println("HS = " + HS);
		System.out.println("TS before = " + TS);
	
//		System.out.println("TS before goat = " + TS.headSet("goat"));
//		System.out.println("TS from cow after = " + TS.tailSet("cow"));
//		System.out.println("TS between duck and sheep = " + TS.subSet("duck", "sheep"));

		Iterator<String> iter = TS.iterator();
//		Iterator<String> iter = TS.descendingIterator();
				
		// filter out certain animals
		
		int index = 0;
		while (iter.hasNext()) {
			String s = iter.next();
			if (s.contains("o"))
				iter.remove();
			System.out.println(index + ": " + s);
			index++;
		}
		
		System.out.println("TS after = " + TS);
	}
}
