`

TreeSet自定义排序

 
阅读更多
import java.util.Iterator;
import java.util.Set;
import java.util.TreeSet;

/**
 * .写一个应用程序,让美国,中国,俄罗斯,加拿大,巴西这五个国家按面积进行排序,
 * 其中美国950万平方公里,中国960万平方公里,俄罗斯1200万平方公里,加拿大990平方公里,
 * 巴西550万平方公里(要求:必须用集合来做)
 * @author 够潮
 *
 */
public class Demo6 {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		/**
		 * 初始化数据
		 */
		Country country = new Country("中国",960);
		Country country2 = new Country("美国",950);
		Country country3 = new Country("俄罗斯",1200);
		Country country4 = new Country("加拿大",990);
		Country country5 = new Country("巴西",550);
		/**
		 * 填充数据
		 */
		Set<Country> set = new TreeSet<Country>();
		set.add(country);
		set.add(country2);
		set.add(country3);
		set.add(country4);
		set.add(country5);
		/**
		 * 遍历数据
		 */
		Iterator it = set.iterator();
		while(it.hasNext()){
			Country c  = (Country) it.next();
			System.out.println("国家:  " +c.name + "    国家面积"+c.area);
		}
		
		

	}

}

class Country implements Comparable{
	
	/**
	 * 面积
	 */
	public int area;
	/**
	 * 名称
	 */
	public String name;
	public Country( String name ,int area) {
		super();
		this.area = area;
		this.name = name;
	}
	public int compareTo(Object o) {
		Country country = (Country) o;
		//return this.area - country.area;//排序从小到大
		return -(this.area - country.area);//排序从大到小
	}
	
	
}

 

0
5
分享到:
评论

相关推荐

    java集合-TreeSet的使用

    或者,可以在创建 TreeSet 时提供一个比较器(Comparator)来指定自定义的排序规则。 唯一性:TreeSet 中不允许重复元素,每个元素都必须是唯一的。如果将重复元素添加到 TreeSet 中,后面的重复元素将被忽略。 ...

    java排序代码

    TreeSet支持两种排序方式: 自然排序:TreeSet会调用集合元素的compareTo(Object obj)方法来比较元素之间大小关系,然后将集合元素按升序排列。 定制排序:在创建TreeSet集合对象时,并提供一个Comparator接口...

    java集合三种比较器(详解)

    关于java集合比较器的创建和使用 概述: 在java集合中,TreeSet集合和TreeMap集合底层数据结构都是自平衡二叉树,所以在这两个集合中...如果我们要实现自定义的引用类型排序需要重写排序方法,就必须重写排序方法,有

    Java 集合方面的面试题

    HashSet 和 TreeSet 有什么区别? HashMap 和 TreeMap 有什么区别? 什么是迭代器?如何使用它来遍历集合? 什么是 fail-fast 机制? 如何使用 Collections 类对集合进行排序? 什么是 Comparable 和 Comparator ...

    Java开发实战1200例(第1卷).(清华出版.李钟尉.陈丹丹).part3

    实例058 用TreeSet生成不重复自动排序 随机数组 71 实例059 Map映射集合实现省市级联选择框 73 第4章 字符串处理技术 75 4.1 格式化字符串 76 实例060 把数字格式化为货币字符串 76 实例061 格式化当前日期 77 实例...

    InsightDataEngineeringCodingChallenge:我的2015年Insight数据工程编码挑战解决方案

    更详细地讲,我将所有文件作为字符串流读取,然后使用TreeMap集合存储唯一键值对,并使用Treeset集合使结果保持排序。 在算法渐近分析方面,查找的时间复杂度为O(logN) ,其中N为单词数,空间复杂度为O(N) 。 得到...

    Java JDK实例宝典

    LinkedHashSet和TreeSet 4. 10 列表. 集合与数组的互相转换 4. 11 HashMap. Hashtable. LinkedHashMap和TreeMap 4. 12 对Map排序 4. 13 Properties属性文件 第5章 字符串 5. 1 使用String ...

    javaSE代码实例

    14.6.5 SortedSet接口与TreeSet类 292 14.6.6 自定义满足Sorted集合的类 293 14.6.7 定制SortedSet的排序规则 296 14.6.8 集合的遍历 298 14.6.9 使用for-each循环遍历集合 300 14.7 映射集 301 14.7.1...

    java基础案例与开发详解案例源码全

    11.2.3 实现类TreeSet272 11.3 List接口实现类277 11.3.1 实现类ArrayList277 11.3.2 实现类LinkedList279 11.3.3 实现类Vector281 11.4 Map接口283 11.4.1 实现类HashMap284 11.4.2 实现类LinkedHashMap285 11.4.3 ...

    leetcode2-LeetCode:力码

    TreeSet/TreeMap(有序) HashSet/HashMap(无序) 堆/优先队列 双端队列/队列/堆栈 对/元组 自定义数据结构 细绳 堆 3. 算法 种类 [双指针](log_problems.md/#Sliding-Window-+-双指针) 二分查找 分而治之 贪婪的 位...

    21天学通Java-由浅入深

    87 5.3 数组操作的举例 88 5.3.1 数组元素值的复制 88 5.3.2 数组元素的排序 90 5.3.3 在数组里查找指定元素 91 5.3.4 利用数组打印26个英文字母 92 5.4 综合练习 93 5.5 小结 94 5.6 习题 94 第二篇 面向对象篇 第6...

    疯狂JAVA讲义

    10.4.2 自定义异常类 371 10.4.3 catch和throw同时使用 371 10.4.4 异常链 373 10.5 Java的异常跟踪栈 374 10.6 异常处理规则 376 10.6.1 不要过度使用异常 377 10.6.2 不要使用过于庞大的try块 378 10.6.3 ...

    Java开发技术大全 电子版

    11.2.6有序树(TreeSet)使用示例349 11.2.7有序树映射类(TreeMap)使用示例353 11.2.8枚举(Enum)使用示例355 11.2.9枚举集(EnumSet)使用示例358 11.3常用算法361 11.3.1Collections中的简单算法361 ...

    JAVA核心知识点整理(有效)

    1. 目录 1. 2. 目录 .........................................................................................................................................................1 JVM ........................

Global site tag (gtag.js) - Google Analytics