Java教程

JAVA学习(Map集合,常用子类:Hashtable,HashMap,TreeMap(概念))

本文主要是介绍JAVA学习(Map集合,常用子类:Hashtable,HashMap,TreeMap(概念)),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

一、Map集合的特点

一次添加一对元素,Collection一次添加一个元素。

Map也被称为双列集合,Collection集合称为单列集合。

其实map集合中存储的就是键值对。

map集合中必须保证键的唯一性。

 

常用的方法:

1.添加

  value put(key,value);    //返回前一个和key关联的值,如果没有,返回null

  //存相同键时,值会覆盖。

2.删除

  void clear();    //清空map集合

  value remove(key);      //根据指定的key翻出这个键值对。

3.判断

  boolean containsKey(key);

  boollean containValue(value);

  boolean  isEmpty();

4.获取

  value get(key);            //通过键获取值,如果没有该键返回空

 

  取出map中所有元素:

  (1)keySet方法,获取map集合中所有的键

  //通过keySet方法获取map集合中所有的键所在的Set集合,在通过Set的迭代器获取到每一个键

  //在对每一个键通过map集合的get方法获取其对应的值

Set<Integer> ketset = map.keySet();

  Iterator<Integer> it = keyset.iterator();

  while(it.haxNext()){

    Integer key = it.next();

    String value = map.get(key);
    System.out.println(key+".."+value);
  }

 

  (2)使用entrySet方法,获取map集合中所有的键和值

  该方法将键和值得映射关系作为对象存储到了Set集合中,而这个映射关系的类型为Map.Entry类型(结婚证)

  

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;

public class MapDemo {
    public static void main(String[] args) {
        Map<Integer,String> map = new HashMap<Integer,String>();
        map.put(1,"abc1");
        map.put(2,"abc2");
        map.put(3,"abc3");
        map.put(4,"abc4");
        map.put(5,"abc5");

        Set<Map.Entry<Integer,String>> entryset = map.entrySet();    //Set集合中类型为Map.Entry类型

        Iterator<Map.Entry<Integer,String>> it = entryset.iterator();  //定义Map.Entry类型的迭代器

        while(it.hasNext()){
            Map.Entry<Integer,String> me = it.next();
            System.out.println(me.getKey()+"..."+me.getValue());  //通过使用Map.Entry接口中的getKey,getValue方法获取键和值
        }
    }
}

  (3)使用values方法,返回map集合中的所有值

  该方法将map集合中的值作为对象存储在Collection集合中

  

import java.util.*;

public class MapDemo {
    public static void main(String[] args) {
        Map<Integer,String> map = new HashMap<Integer,String>();
        map.put(1,"abc1");
        map.put(2,"abc2");
        map.put(3,"abc3");
        map.put(4,"abc4");
        map.put(5,"abc5");

        Collection<String> v1 = map.values();

        Iterator<String> it = v1.iterator();

        while(it.hasNext()){
            System.out.println(it.next());
        }
    }
}

 

二、Map集合常用子类

1.Hashtable

内部结构是哈希表,是同步的,不允许null作为键,null作为值

常用子类:Provider

用来存储键值对型的配置文件信息,可以与IO技术相结合。

2.HashMap

 内部结构是哈希表,不是同步的,允许null作为键,null作为值

3.TreeMap

内部是二叉树,不是同步的,可以对Map集合中的键进行排序

 

这篇关于JAVA学习(Map集合,常用子类:Hashtable,HashMap,TreeMap(概念))的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!