ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

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

2021-04-13 21:33:27  阅读:134  来源: 互联网

标签:map Set JAVA Map 子类 put key 集合


一、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集合中的键进行排序

 

标签:map,Set,JAVA,Map,子类,put,key,集合
来源: https://www.cnblogs.com/gmangofight/p/14648688.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有