Java 集合框架_下
Map接口
特点:
【1】Map接口称为键值对集合或者映射集合,其中的元素(entry)是以键值对(key-value)的形式存在。
【2】Map 容器接口中提供了增、删、改、查的方式对集合进行操作。
【3】Map接口中都是通过key来操作键值对,一般key是已知。通过key获取value。
Map接口的实现类HashMap、LinkedHashMap、TreeMap
1.1 HashMap
【1】HashMap 是Map的实现类,key以HashSet存储。
【2】HashMap 线程不安全,jdk1.2;Hashtable是HashMap的线程安全版本,jdk1.0
【3】 向HashMap中存储元素时,key一定要实现hashCode和equals
【4】一般建议使用String作为Map接口的key
1.2 LinkedHashMap
【1】LinkedHashMap是Map接口的实现类,key以LinkedHashSet存储。哈希表散列key,链表维持key的添加顺序。
1.3 TreeMap
【1】TreeMap是Map的实现类,key以TreeSet存储。
public static void main(String[] args) {
        /*TreeMap<String, Object> map = new TreeMap<String,Object>(new Comparator<String>() {
            @Override
            public int compare(String o1, String o2) {
                return o1.length() - o2.length();
            }
        });
        ArrayList<String> list2 = new ArrayList<String>();
        list2.add("ben");
        list2.add("bill");
        map.put("Aa", list2);
        ArrayList<String> list1 = new ArrayList<String>();
        list1.add("alex");
        list1.add("alice");
        list1.add("allen");
        map.put("B", list1);
        System.out.println(map);*/
        TreeMap<Student, Object> map = new TreeMap<Student,Object>(new Comparator<Student>() {
            @Override
            public int compare(Student o1, Student o2) {
                return o1.getAge() - o2.getAge();
            }
        });
        ArrayList<String> list1 = new ArrayList<String>();
        list1.add("alex");
        list1.add("alice");
        list1.add("allen");
        Student s1 = new Student("001", "大狗", 20);
        map.put(s1, list1);
        ArrayList<String> list2 = new ArrayList<String>();
        list2.add("ben");
        list2.add("bill");
        Student s2 = new Student("001", "2狗", 20);
        // 修改
        map.put(s2, list2);
        System.out.println(map);
    }
1.1 总结
        
Java 集合框架_下的更多相关文章
- 浅入深出之Java集合框架(下)
		Java中的集合框架(下) 由于Java中的集合框架的内容比较多,在这里分为三个部分介绍Java的集合框架,内容是从浅到深,哈哈这篇其实也还是基础,惊不惊喜意不意外 ̄▽ ̄ 写文真的好累,懒得写了.. ... 
- Java 集合框架_上
		集合框架被设计成要满足以下几个目标. 该框架必须是高性能的.基本集合(动态数组,链表,树,哈希表)的实现也必须是高效的. 该框架允许不同类型的集合,以类似的方式工作,具有高度的互操作性. 对一个集合的 ... 
- Java 集合框架_中
		Set接口 特点: [1]Set接口表示一个唯一.无序的容器(和添加顺序无关) Set接口常用实现类有 HashSet [1]HashSet是Set接口的实现类,底层数据结构是哈希表. [2]Hash ... 
- 浅入深出之Java集合框架(上)
		Java中的集合框架(上) 由于Java中的集合框架的内容比较多,在这里分为三个部分介绍Java的集合框架,内容是从浅到深,如果已经有java基础的小伙伴可以直接跳到<浅入深出之Java集合框架 ... 
- 浅入深出之Java集合框架(中)
		Java中的集合框架(中) 由于Java中的集合框架的内容比较多,在这里分为三个部分介绍Java的集合框架,内容是从浅到深,如果已经有java基础的小伙伴可以直接跳到<浅入深出之Java集合框架 ... 
- Java中的集合框架(下)
		学生选课--判断Set中课程是否存在 package com.imooc.collection; import java.util.ArrayList; import java.util.Arrays ... 
- java集合框架1
		1.综述 所有集合类都位于java.util包下.集合中只能保存对象(保存对象的引用变量).(数组既可以保存基本类型的数据也可以保存对象). 当我们把一个对象放入集合中后,系统会把所有集合元素都当成O ... 
- Java集合框架List,Map,Set等全面介绍
		Java集合框架的基本接口/类层次结构: java.util.Collection [I]+--java.util.List [I] +--java.util.ArrayList [C] +- ... 
- 【集合框架】Java集合框架综述
		一.前言 现笔者打算做关于Java集合框架的教程,具体是打算分析Java源码,因为平时在写程序的过程中用Java集合特别频繁,但是对于里面一些具体的原理还没有进行很好的梳理,所以拟从源码的角度去熟悉梳 ... 
随机推荐
- Gym - 100801H Hash Code Hacker (构造)
			题意:求 n 个哈希值相同的串. 析:直接构造,通过取模来查找相同的串. 代码如下: #pragma comment(linker, "/STACK:1024000000,102400000 ... 
- ASP.NET学习笔记(三)ASP Global.asa 文件
			Global.asa 文件 Global.asa 文件是一个可选的文件,它可包含可被 ASP 应用程序中每个页面访问的对象.变量以及方法的声明.所有合法的浏览器脚本都能在 Global.asa 中使用 ... 
- WPF语言切换,国际化
			winform语言切换在每个窗口下面有一个.resx结尾的资源文件,在上面添加新字符串就好了: WPF语言切换跟winform不一样的地方在于需要自己添加资源文件,并且这个资源文件可以写一个,也可以写 ... 
- 用 _tcscmp 替代 strcmp 或 wcscmp
			转自:http://blog.csdn.net/eickandy/article/details/50081537 好处:是可以不管是用unicode 编码还是其他 ,代码都不用改. C++标准库函数 ... 
- SPOJ SERGRID 【BFS】
			思路: 在一个方向上走K步,基础BFS. 注意标记: 注意路径: PS:显著注释是记录路径. #include<bits/stdc++.h> using namespace std; co ... 
- CodeForces - 820
			Mister B and Book ReadingCodeForces - 820A 题意:C,V0,V1,A,L..总共有C页书,第一天以V0速度读,每天加A,但是不能超过V1,并且要从前一天的看到 ... 
- 洛谷P1582 倒水
			P1582 倒水 题目描述 一天,CC买了N个容量可以认为是无限大的瓶子,开始时每个瓶子里有1升水.接着~~CC发现瓶子实在太多了,于是他决定保留不超过K个瓶子.每次他选择两个当前含水量相同的瓶子,把 ... 
- 图论1 Tarjan算法
			强连通分量 模板(强联通分量个数+缩点) #include<iostream> #include<cstdio> #define MAXn 100000 #define MAX ... 
- duliu——思维+线段树
			题目 [题目描述]小 `D` 喜欢出毒瘤题毒人.当然,他的毒瘤更多体现在若干个难题组合在同一场比赛时.小 `D` 脑中有 $n$ 个毒瘤题 idea,第 $i$ 个的毒值为$d_i$.当第 $i$ 个 ... 
- Java基础--环境配置、简介
			一.环境配置 1.傻瓜式安装JDK,若提示安装JRE,将其置于JDK同一安装目录即可. 2.配置JAVA_HOME, 指向JDK的安装目录.比如 JAVA_HOME = %JDK安装目录% 3.配置 ... 
