Java集合框架(二)

上篇博文我们介绍了Collection集合,http://zhangyh8856643.blog.51cto.com/8846643/1829364

这篇博文我们将介绍Map集合。

首先Map和Collection集合都是一个接口,具体的实现都是由厦门的实现类来实现功能。它们最大的区别就是Collection是一个单列集合,而Map是双列集合,(即泛型参数是一个键值对)。Map集合与Set类似,主要有HashMap、TreeMap和HashTable三个实现类,HashTable现在基本上不使用。

-Map(接口)

-HashMap

-TreeMap

-HashTable

下面以HashMap介绍三中获取HashMap的值的方法。

public class MapTest {   
    public static void main(String[] args){             
        HashMap<String, String> map=new HashMap<String, String>();      
      map.put("010", "BeiJing");     
        map.put("021", "ShangHai");
        map.put("012", "TianJin");      
      map.put("043", "ChongQing");      
      map.put("026", "GuangZhou");  

     //方法一:通过map.keySet()方法得到其键  
     Set<String> zips=map.keySet();//得到键  
     Iterator<String> it=zips.iterator();  
     while(it.hasNext())  {   
         String zip=it.next();      
         System.out.println(zip+":"+map.get(zip));
  }

   //方法二:通过map.values()方法得到其值
    Collection<String> cities=map.values();//得到值  
    Iterator<String> it=cities.iterator();  
    while(it.hasNext()){      
        System.out.println(it.next());  

     //方法三:通过map.entrySet()得到键值(即一个条目entry)    
      Set<Entry<String, String>> entries=map.entrySet();//得到键值对
    Iterator<Entry<String, String>> it=entries.iterator();
    while(it.hasNext()){
        Entry<String, String> entry=it.next();
        String key=entry.getKey();
        String value=entry.getValue();
        System.out.println(key+":"+value);
        }
}

可以将上面的HashMap修改为TreeMap,其他代码无需修改则可以按顺序输出。

时间: 2024-10-16 05:40:58

Java集合框架(二)的相关文章

Java集合框架(二)

Set Set:无序,不可以重复元素. |--------HashSet:数据结构是哈希表. 线程是非同步的.保证元素唯一性的原理是:判断元素的hashCode值是否相同,如果相同,还会继续判断元素的equals方法,是否为true |--------TreeSet:可以对Set集合中元素进行排序.  底层数据结构是二叉树(也叫红黑树),保证元素唯一性的依据是:compareTo()方法return 0. TreeSet排序的第一种方式:让元素自身具备比较性.元素需要实现Comparable接口

java 集合框架二(list)

/* Collection: |--List:集合中的元素是有序的,可重复的,有索引. |--Set:集合中的元素是无序的,不可重复的,无索引. List中的特有方法: 增 add(index,element); addAll(index,Collection); 删 remove(index); 改 set(index,element); 查 get(index); subList(start,end); listIterator(); 其他: indexOf(obj);//通过indexOf

(二)java集合框架综述

一集合框架图 说明:对于以上的框架图有如下几点说明 1.所有集合类都位于java.util包下.Java的集合类主要由两个接口派生而出:Collection和Map,Collection和Map是Java集合框架的根接口,这两个接口又包含了一些子接口或实现类.2. 集合接口:6个接口(短虚线表示),表示不同集合类型,是集合框架的基础.3. 抽象类:5个抽象类(长虚线表示),对集合接口的部分实现.可扩展为自定义集合类.4. 实现类:8个实现类(实线表示),对接口的具体实现.5. Collectio

jdk源码阅读笔记之java集合框架(二)(ArrayList)

关于ArrayList的分析,会从且仅从其添加(add)与删除(remove)方法入手. ArrayList类定义: p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Monaco } span.s1 { color: #931a68 } public class ArrayList<E> extends AbstractList<E> implements List<E> ArrayList基本属性: /** *

我所理解Java集合框架的部分的使用(Collection和Map)

所谓集合,就是和数组类似--一组数据.java中提供了一些处理集合数据的类和接口,以供我们使用. 由于数组的长度固定,处理不定数量的数据比较麻烦,于是就有了集合. 以下是java集合框架(短虚线表示接口,长虚线表示抽象类,实线表示类,箭头表示实现接口或者继承)(在网络上找的图,不知道原作者,侵权请联系我删除)(总之,关系很复杂,所以不用记得这个图,只是用来吓吓人而已的). 下面贴上个人理解之精简版之Collection(集)和Map(地图?暂且这么理解吧),话说思维导图蛮好用,以下是两幅思维导图

Java集合框架的知识总结

说明:面试准备,写的挺不错的. 转载地址: http://www.cnblogs.com/zhxxcq/archive/2012/03/11/2389611.html 1.综述 所有集合类都位于java.util包下.集合中只能保存对象(保存对象的引用变量).(数组既可以保存基本类型的数据也可以保存对象). 当我们把一个对象放入集合中后,系统会把所有集合元素都当成Object类的实例进行处理.从JDK1.5以后,这种状态得到了改进:可以使用泛型来限制集合里元素的类型,并让集合记住所有集合元素的类

Java集合框架(一)

Java集合框架结构图完整版 在完整版的结构图中Collection集合和Map下有许多未实现的抽象类(AbstractCollection.AbstractMap等等).下面整理一个简化版的,去除了一些不常用的子类和中间的一些抽象类. Java集合框架结构图简化版 说集合之前先来讲讲对象数组: 对象数组: 数组可以储存基本类型和引用类型,储存引用类型的数组叫对象数组(案例:用数组储存10个Animal类对象) 集合(Collection): a)集合的由来: Java语言是面对对象语言,需要操

Java集合框架实现自定义排序

Java集合框架针对不同的数据结构提供了多种排序的方法,虽然很多时候我们可以自己实现排序,比如数组等,但是灵活的使用JDK提供的排序方法,可以提高开发效率,而且通常JDK的实现要比自己造的轮子性能更优化. 一 .使用Arrays对数组进行排序 Java API对Arrays类的说明是:此类包含用来操作数组(比如排序和搜索)的各种方法. 1.使用Arrays排序:Arrays使用非常简单,直接调用sort()即可 int[] arr = new int[] {5,8,-2,0,10}; Array

java集合框架小结(进阶版)之HashMap篇

基本概念: Hash(哈希):hash一般也译作“散列”.事实上,就是一个函数,用于直接定址.将数据元素的关键字key作为变量,通过哈希函数,计算生成该元素的存储地址. 冲突:函数是可以多对一的.即:多个自变量可以映射到同一函数值.一般而言,不同的key的hash值是不同的.在往hash表中映射的时候,不同的hash值可能映射到同一存储地址,这种情况被称为冲突. 解决冲突的方法: 1. 链表法:将冲突的各个元素用一个一维数组来维护.(java源码实现) 2. 开发寻址法:具体的有线性探测法.二次

Java - 集合框架完全解析

来自:http://www.jianshu.com/p/63e76826e852 数据结构是以某种形式将数据组织在一起的集合,它不仅存储数据,还支持访问和处理数据的操作.Java提供了几个能有效地组织和操作数据的数据结构,这些数据结构通常称为Java集合框架.在平常的学习开发中,灵活熟练地使用这些集合框架,可以很明显地提高我们的开发效率,当然仅仅会用还是不够的,理解其中的设计思想与原理才能更好地提高我们的开发水平.下面是自己对Java集合框架方面的学习总结. 一.概述 二.Collection接