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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值