JAVA学习.JAVA集合类型Map.HashMap&TreeMap
来源:互联网 发布:淘宝旅行 编辑:程序博客网 时间:2024/05/29 09:40
以下是一张比较简单的介绍图,在具体代码分析之前先大概的了解以下要介绍的内容。
作为key值保存的类对象:
/** * */package MapDemo;/** * @author fshxxxyydys * */public class Dog implements Comparable<Dog>{private String color;private Integer age;public Dog() {super();}public Dog(String color, Integer age) {super();// 子类构造方法调用父类构造方法只能放在第一行this.color = color;this.age = age;}//如果有需要可以根据需要填写不同参数的构造函数public String getColor() {return color;}public void setColor(String color) {this.color = color;}public Integer getAge() {return age;}public void setAge(Integer age) {this.age = age;}@Overridepublic boolean equals(Object obj) {if(obj == null) return false;if(obj == this) return true;if(!(obj instanceof Dog)) return false;Dog d =(Dog)obj;if(this.age.equals(d.age)&&this.color.equals(d.color))return true;return false;}@Overridepublic int hashCode() {return this.color.hashCode() + this.age.hashCode();}@Overridepublic int compareTo(Dog o) {//传进来的对象本身就是指定对象类型无需进行判断if(this.age.compareTo(o.age) != 0){return this.age.compareTo(o.age);}//先按照年龄来排序if(this.color.compareTo(o.color) != 0){return this.color.compareTo(o.color);}//再按照颜色来排序return 0;//如果颜色和年龄都相同返回0的就按照相同处理}@Overridepublic String toString() {return "Color:" + this.color + " Age:" + this.age + ".";}}
TreeMap:
/** * */package MapDemo;import java.util.Set;import java.util.TreeMap;/** * @author fshxxxyydys * */public class TreeMapDemo {/** * @param args */public static void main(String[] args) {//TreeMap是以TreeSet来进行key管理的Map接口的实现//与TreeSet类似,如要使得TreeMap对其key值进行无//重复的筛选以及自然顺序排序,则被当做key值得对象//必须实现Comparable接口并实现CompareTo方法.TreeMap<Dog,String> dogMap = new TreeMap<Dog,String>();dogMap.put(new Dog("bule",11),"A");dogMap.put(new Dog("bule",12),"B");dogMap.put(new Dog("bule",10),"C");dogMap.put(new Dog("red",1),"D");dogMap.put(new Dog("red",21),"E");dogMap.put(new Dog("red",4),"F");dogMap.put(new Dog("green",8),"G");dogMap.put(new Dog("green",12),"H");dogMap.put(new Dog("green",4),"I");Set<Dog> dogKey = dogMap.keySet();//获取dogMap中key的Set值。 for(Dog d:dogKey) System.out.println(d);}}
======================================================================
Result:
Color:red Age:1.
Color:green Age:4.
Color:red Age:4.
Color:green Age:8.
Color:bule Age:10.
Color:bule Age:11.
Color:bule Age:12.
Color:green Age:12.
Color:red Age:21.
======================================================================
HashMap:/** * */package MapDemo;import java.util.HashMap;import java.util.Set;/** * @author fshxxxyydys * */public class HashMapDemo {/** * @param args */public static void main(String[] args) {HashMap<Dog,String> dogMap = new HashMap<Dog,String>();dogMap.put(new Dog("bule",11),"A");dogMap.put(new Dog("bule",12),"B");dogMap.put(new Dog("bule",10),"C");dogMap.put(new Dog("red",1),"D");dogMap.put(new Dog("red",21),"E");dogMap.put(new Dog("red",4),"F");dogMap.put(new Dog("green",8),"G");dogMap.put(new Dog("green",12),"H");dogMap.put(new Dog("green",4),"I"); for(Dog d:dogMap.keySet()) System.out.println(d);}}
======================================================================
Result:
Color:red Age:1.
Color:green Age:4.
Color:red Age:4.
Color:red Age:21.
Color:bule Age:12.
Color:bule Age:11.
Color:bule Age:10.
Color:green Age:12.
Color:green Age:8.
======================================================================
原创出处:http://blog.csdn.net/u012830807
- JAVA学习.JAVA集合类型Map.HashMap&TreeMap
- 集合Map,HashMap、TreeMap+JAVA学习笔记-DAY18
- Java-集合框架Map之HashMap、TreeMap
- java集合Map,HashMap,TreeMap知识点总结
- 【Java学习笔记】Map,TreeMap及HashMap
- Java集合学习--HashMap、LinkedHashMap、TreeMap、HashTable
- java 集合学习笔记4-HashMap TreeMap
- Java基础之集合框架(三)--Map、HashMap、TreeMap
- Java基础之集合框架(三)--Map、HashMap、TreeMap
- 黑马程序员—Java集合框架(Map、HashMap、TreeMap)
- Lesson_for_java_day14--java中的集合——Map、HashMap、TreeMap
- Java集合Set、Map、HashSet、HashMap、TreeSet、TreeMap等
- 【Java集合之Map】HashMap、HashTable、TreeMap、LinkedHashMap区别
- Java集合之五Map、HashMap、LinkedHashMap、TreeMap、Properties
- JAVA基础学习(十六)--集合三-Map、HashMap,TreeMap与常用API
- JavaSE入门学习37:Java集合框架之Map接口及其实现类HashMap和TreeMap
- java Map-HashMap、TreeMap练习
- java集合-hashMap与TreeMap
- Effective C++笔记
- 关于python全局性解释锁(GIL)
- Oracle 跨表分区查询
- tabBarController的外观的设置
- 单例模式
- JAVA学习.JAVA集合类型Map.HashMap&TreeMap
- 7-1-3 分数拆分
- linux后台运行命令
- uboot分析第一阶段学习笔记
- Accelerated C++ Exercise 4-3
- redhat安装mysql常见问题
- Java软件开发修炼过程
- [转载]《中国学生写英语论文的常见错误总结》读书笔记
- 【终结:Oracle用一次忘一次】各种零碎记录