Java连载90-Sorted、Map讲解
2020-02-29 16:01:17来源:博客园 阅读 ()
一、
1.让SortedSet集合做到排序还有另一种方式:java.util.Comparator;
2.单独编写一个比较器
package com.bjpowernode.java_learning; import java.util.*; ? public class D90_1_SortedSet { public static void main(String[] args) { //创建TreeSet集合的时候提供一个比较器 SortedSet products = new TreeSet(new ProductComparator()); Product90 p1 = new Product90(3.4); Product90 p2 = new Product90(4.0); Product90 p3 = new Product90(3.0); Product90 p4 = new Product90(2.0); Product90 p5 = new Product90(5.0); //添加元素 products.add(p1); products.add(p2); products.add(p3); products.add(p4); products.add(p5); //遍历 Iterator i = products.iterator(); while(i.hasNext()) { System.out.println(i.next()); } } } class Product90 { double price; Product90(double price){ this.price = price; } public String toString() { return price+""; } } class ProductComparator implements Comparator{ public int compare(Object o1,Object o2) { double price1 = ((Product90)o1).price; double price2 = ((Product90)o2).price; if(price1==price2) { return 0; }else if (price1<price2) { return -1; }else { return 1; } } }
?总结:使用这种单独实现比较器的方法,因为这样符合?高内聚低耦合的原则,代码复用性更强。
二、Comparable和Comparator的区别
见两次连载的代码,推荐使用Comparator
三、Map
package com.bjpowernode.java_learning; import java.util.*; ? public class D90_2_MapUsualMethod { public static void main(String[] args) { /** * 关于Map集合中的常用方法 */ //void clear();清空Map //boolean containsKey(Object key);判断Map中是否包含这样的key //boolean containsValue(Object value);判断Map中是否包含这样的value //Set<Map.Entry<K,V>> entrySet();返回此映射中包含的映射关系的Set视图 //Object get(Object key);通过key获取value; //Object put(Object key,Object value);向集合中添加键值对 //boolean isEmpty(); 判断该集合是否为空 //Object remove(Object key);通过key将键值对删除 //int size();获取Map中键值对的个数 //Set keySet();获取Map中所有的键值对 //Collection values();获取Map集合中所有的value //1.创建Map集合 Map persons = new HashMap();//HashMap的默认初始化容量为16,默认加载因子时0.75 //2.存储键值对 persons.put("10000","JACK"); persons.put("10001","ZHANGXINLEI"); persons.put("10002","YAOKUN"); persons.put("10003","ZHAOZEKUN"); persons.put("10004","LIDUO"); persons.put("10005","DIAOBI"); //3.判读键值对的个数 //Map中的key是无序不可重复的,和HashSet相同 System.out.println(persons.size()); //4.判断集合中是否包含这样的key System.out.println(persons.containsKey("10000")); //5.判断集合中是否包含这样的value System.out.println(persons.containsValue("ZHANGXINLEI")); } }
四、源码:
D90_1_SortedSet.java
D90_2_MapUsualMethod.java
https://github.com/ruigege66/Java/blob/master/D90_1_SortedSet.java
https://github.com/ruigege66/Java/blob/master/D90_2_MapUsualMethod.java
2.CSDN:https://blog.csdn.net/weixin_44630050
3.博客园:https://www.cnblogs.com/ruigege0000/
4.欢迎关注微信公众号:傅里叶变换,个人公众号,仅用于学习交流,后台回复”礼包“,获取大数据学习资料
原文链接:https://www.cnblogs.com/ruigege0000/p/12381269.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- 国外程序员整理的Java资源大全(全部是干货) 2020-06-12
- 2020年深圳中国平安各部门Java中级面试真题合集(附答案) 2020-06-11
- 2020年java就业前景 2020-06-11
- 04.Java基础语法 2020-06-11
- Java--反射(框架设计的灵魂)案例 2020-06-11
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash