5.13TreeMap集合

package org.westos.TreeMap集合博客練習;

import java.util.Set;
import java.util.TreeMap;

/**
 * TreeMap集合
 * 基於紅黑樹結構的Map接口的實現
 * */
public class Text1 {
	public static void main(String[] args) {
		TreeMap<Integer,String> map = new TreeMap<>();
		map.put(23, "hello");
		map.put(23, "world");
		map.put(432, "apple");
		map.put(55, "java");
		map.put(87, "javaee");
		map.put(45, "javase");
		map.put(65, "python");
		Set<Integer> set = map.keySet();
		for(Integer i:set) {
			String s = map.get(i);
			System.out.println(i+"-----"+s);//對鍵按自然順序進行了排序
		}
	}
}

package org.westos.TreeMap集合博客練習;

import java.util.Set;
import java.util.TreeMap;

//對自定義對象的按年齡進行排序,使用自然排序的方法:自定義對象實現Comparable接口
public class Text2 {
	public static void main(String[] args) {
		TreeMap<Student,Integer> map = new TreeMap<Student,Integer>();
		Student s1 = new Student("張三",11);
		Student s2 = new Student("李四",16);
		Student s3 = new Student("趙五",13);
		Student s4 = new Student("王六",17);
		Student s5 = new Student("張三",11);
		map.put(s1, 001);
		map.put(s2, 002);
		map.put(s3, 003);
		map.put(s4, 004);
		map.put(s5, 005);
		Set<Student> set = map.keySet();
		for(Student s:set) {
			int i = map.get(s);
			System.out.println(s+"-----"+i);
		}
	}
}

package org.westos.TreeMap集合博客練習2;

import java.util.Set;
import java.util.TreeMap;


/**
 * 對自定義對象按照年齡大小排序,使用比較器排序
 * 方式一:
 * 使用比較器排序需要重新定義一個類去實現Comparator接口,並在測試中創建該類對象;
 * 將對象作爲參數傳遞給TreeSet集合對象
 * 方式二:
 * 直接以匿名內部類的方式在測試類中寫入
 * */
public class Text3 {
	public static void main(String[] args) {
		CompImp c = new CompImp();
		TreeMap<Student,Integer> map = new TreeMap<Student,Integer>(c);
		Student s1 = new Student("張三",11);
		Student s2 = new Student("李四",16);
		Student s3 = new Student("趙五",13);
		Student s4 = new Student("王六",17);
		Student s5 = new Student("張三",11);
		map.put(s1, 001);
		map.put(s2, 002);
		map.put(s3, 003);
		map.put(s4, 004);
		map.put(s5, 005);
		Set<Student> set = map.keySet();
		for(Student s:set) {
			int i = map.get(s);
			System.out.println(s+"-----"+i);
		}
	}
}
package org.westos.TreeMap集合博客練習2;

import java.util.Comparator;

public class CompImp implements Comparator<Student> {

	@Override
	public int compare(Student s1, Student s2) {
		int num = s1.getAge()-s2.getAge();
		int num2 = (num==0)?(s1.getName().compareTo(s2.getName())):num;
		return num2;
	}
	
}

發佈了61 篇原創文章 · 獲贊 6 · 訪問量 7907
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章