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;
	}
	
}

猜你喜欢

转载自blog.csdn.net/ws1995_java/article/details/80349238