java集合 :map 学习

map三个实现类HashMap,TreeMap,HashTable

1.  (1)  HashMap概述:

HashMap是基于哈希表的Map接口的非同步实现。此实现提供所有可选的映射操作,并允许使用null值和null键。此类不保证映射的顺序,特别是它不保证该顺序恒久不变。

  (2) HashMap的数据结构:

在java编程语言中,最基本的结构就是两种,一个是数组,另外一个是模拟指针(引用),所有的数据结构都可以用这两个基本结构来构造的,HashMap也不例外。HashMap实际上是一个“链表散列”的数据结构,即数组和链表的结合体。

网上详细的介绍:http://zhangshixi.iteye.com/blog/672697

 

Map存储健值对,根据键得到值,不允许键重复。


1、HashMap、LinkedHashMap、TreeMap 只允许一个键为null,值不限制。


2、Hashtable 线程安全,键不能为null,与HashMap类似,但效率较低,HashMap如果需要实现同步,可以使用Collections. synchronizedMap或ConcurrentHashMap 。


3、HashMap键无序;LinkedHashMap键保存了插入的顺序,使用Iterator遍历时,得到的也是插入顺序的记录;TreeMap默认按键的升序排序,可以定制比较器。



public class Hashtable<k,v> extends Dictionary<k,v> implements Map<k,v>, Cloneable, Serializable

public class HashMap<k,v> extends AbstractMap<k,v> implements Map<k,v>, Cloneable, Serializable

public class LinkedHashMap<k,v> extends HashMap<k,v> implements Map<k,v>

public class TreeMap<k,v> extends AbstractMap<k,v> implements SortedMap<k,v>, NavigableMap<k,v>, Cloneable, Serializable

public interface SortedMap<k,v> extends Map<k,v><k,v><k,v><k,v><k,v><k,v><k,v><k,v><k,v><k,v><k,v><k,v><k,v><k,v><k,v>

遍历Map的方法:



     Map<string,integer> hashMap = new HashMap<string,integer>();
        Random random = new Random();
        for(int i=1;i<11;i++){
            hashMap.put("map"+i, random.nextInt(i));
        }
        Set hashMapKey = hashMap.keySet();
        Collection hashMapValue = hashMap.values();
        Iterator keyVal = hashMapKey.iterator();
        System.out.print("key:");
        while(keyVal.hasNext()){
            System.out.print(" "+keyVal.next());
        }
        Iterator hashMapVal = hashMapValue.iterator();
        System.out.print("\n value:");
        while(hashMapVal.hasNext()){
            System.out.print(" "+hashMapVal.next());
        }
 
				
时间: 2024-08-02 04:26:28

java集合 :map 学习的相关文章

Java集合Map接口与Map.Entry学习

Java集合Map接口与Map.Entry学习 Map接口不是Collection接口的继承.Map接口用于维护键/值对(key/value pairs).该接口描述了从不重复的键到值的映射. (1) 添加.删除操作: Object put(Object key, Object value): 将互相关联的一个关键字与一个值放入该映像.如果该关键字已经存在,那么与此关键字相关的新值将取代旧值.方法返回关键字的旧值,如果关键字原先并不存在,则返回null Object remove(Object

Java集合框架学习笔记之集合与Collection API

一.CollectionAPI 集合是一系列对象的聚集(Collection).集合在程序设计中是一种重要的数据接口.Java中提供了有关集合的类库称为CollectionAPI. 集合实际上是用一个对象代表一组对象,在集合中的每个对象称为一个元素.在集合中的各个元素的具体类型可以不同,但一般说来,它们都是由相同的类派生出来的(而这一点并不难做到,因为Java中的所有类都是Object的子类).在从集合中检索出各个元素是,常常要根据其具体类型不同而进行相应的强制类型转换. Collection

黑马程序员——JAVA集合框架学习总结

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- www.itheima.com 要学好java的集合框架,必须掌握此图: Java集合框架很全面,从大的来说.它包括两种类型: 1.一种是以collection为根接口的集合. 2.另一种是由map为根接口的<key,value>的“图”. 而collection之下的set接口和list接口又有不同: 1.Set 接口继承 Collection,但不允许重复,使用自己内部的一个排列机制.

黑马程序员------Java集合框架学习总结

Java培训.Android培训.iOS培训..Net培训.期待您的交流 一.综述 所有集合类都位于java.util包下.集合中只能保存对象(保存对象的引用变量).(数组既可以保存基本类型的数据也可以保存对象). Java的集合类主要由两个接口派生而出:Collection和Map,Collection和Map是Java集合框架的根接口,这两个接口又包含了一些接口或实现类. 二.Collection接口 Collction: List:有序(元素存入集合的顺序和取出的顺序一致),元素都有索引.

Java集合框架学习(一)List

先附一张Java集合框架图. 从上面的集合框架图可以看到,Java集合框架主要包括两种类型的容器,一种是集合(Collection),存储一个元素集合,另一种是图(Map),存储键/值对映射.Collection接口又有3种子类型,List.Set和Queue,再下面是一些抽象类,最后是具体实现类,常用的有ArrayList.LinkedList.HashSet.LinkedHashSet.HashMap.LinkedHashMap等等.(ps:带虚线边框的都是接口不能直接使用) Collect

JAVA集合------Map (HashMap实现)

package java_util_map; import java.util.Collection; import java.util.HashMap; import java.util.Map; import java.util.Map.Entry; import java.util.Set; public class MapTest01 { public static void main(String[] args) { /*  * Map是一个接口,HashMap是Map的一个实现类  

java集合-Map

面试当中经常有被问道对java集合的理解,一直都是停留在java面试答案的水平,这次终于想好好研究一下了. Java的集合一般相对于数组去比较,数组是大小固定的并且同一个数组只能存放类型一样的数据.数组的定义就是相同类型.固定长度的一组数据,一旦被初始化,长度不可更改.所以如果长度不确定,一种方法是初始化的时候长度申请足够大,但这样容易造成内存的浪费:另一种就是用集合.Java集合主要分为三种类型: Set(集)->接口Collection List(列表)->接口Collection Map

关于JAVA集合MAP处理一对多的关系

相信很多人都对java的集合知识都有所了解,这是一些基础知识,而且也是JAVA开发的必备知识,对于开发经验稍微丰富一些的工程师,对于三个集合接口的应用肯定也是炉火纯青了.好了,不废话,直奔主题:map集合处理一对多. map:其结构是{key1=value1,key2=value2,key3=value1,key4=value3……} key:唯一,不可可重复. value:可重复,任何元素. 而map处理一对多,就是利用了map的特性. 直接上代码: import java.util.Hash

Java集合博客的导航 java集合框架学习路线

一.java集合Collection和Map的概述(http://www.cnblogs.com/escore/p/6931369.html) 二.java集合Collection接口详解(http://www.cnblogs.com/escore/p/6931374.html) 三.java集合Collection的List ArrayList LinkedList 区别(http://www.cnblogs.com/escore/p/6938650.html)

Java集合——Map接口

1.定义 Map用于保存存在映射关系<key,value>的数据.其中,key值不能重复(使用equals()方法比较),value值可以重复 2.方法 put(key,value):添加元素 get(Object key):获取指定key的元素 keySet():返回指定对象key的集合 values():返回指定对象value的集合 remove(Object key):移除指定key的元素,并且返回对应值的引用 entrySet():返回映射中包含映射关系的视图 3.常用实现类 Hash