黑马程序员——Map集合概述

------- <a href="http://www.itheima.com" target="blank">android培训</a>、<a href="http://www.itheima.comtarget="blank">

java培训</a>、期待与您交流! ---------

引言:

Map  集合, 该集合存储键 值 对,一对一对往里存,而且要保证键的唯一性。

其中基本功能有:

添加

put (K  key , V value)

putAll(Map<? extends  K, ? extends V>  m)

删除

clear()

remove(Object key)

判断

containsValue(Object     value)

containsKey(Object    key )

isEmpty()

获取

get(Object   key)

size()

values()

Map  集合          中的三个子类

<1>  Hashtable           底层是哈希表数据结构,不可以存入null键 null 值,该集合是线程同步的

<2> HashMap             底层是哈希表数据结构,允许使用null键  null值 ,  该集合 是不同步的

<3>  TreeMap             底层是二叉树数据结构 ,  线程不同步,可以用于给map集合中的键进行排序

例子演示方法

public class MapDemo {

public static void main(String[] args) {

// TODO Auto-generated method stub

med1();

}

private static void med1() {

// TODO Auto-generated method stub

Map<String,String>  map  =  new HashMap<String,String>();

//添加元素

map.put("1","shili");

map.put("2","shili");

map.put("3","shili");

map.put("4","shili");

System.out.println(map.containsValue("2"));//false

System.out.println(map.remove("4"));//shili

System.out.println(map.get("3"));//shili

map.put(null, "2222");

System.out.println(map.get(null));//2222

System.out.println(map);//{null=2222, 1=shili, 2=shili, 3=shili}

//也可以通过个get方法判断一个键是否存在

//获得map集合中所有的值

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

System.out.println(coll);//[2222, shili, shili, shili]

}

}

注    添加元素,如果出现添加时,相同的键,那么后添加的值会覆盖原有的键对应值

------------------------------------------------------------------------------------------------------

Map集合的取出方式

keySet      将map中所有的键存入到Set集合中,因为Set具备迭代器,所有可以迭代方式取出所有的键,在根据get方法,获取每一个键所对应的 值

entrySet    将map中的映射关系存入了到了set集合中,而这个关系数据类型就是:Map.Entry

public static void main(String[] args) {

// TODO Auto-generated method stub

med1();

}

private static void med1() {

// TODO Auto-generated method stub

Map<String,String>  map  =  new HashMap<String,String>();

//添加元素

map.put("1","shili");

map.put("2","shili4");

map.put("3","shili2");

map.put("4","shili3");

//先获取map集合中的所有的键的Set集合

Set<String>       keyset =map.keySet();

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

while(it.hasNext())

{

System.out.println(map.get(it.next()));

}

}

}

--------------------------------------------------------------------------------------------------------------------------

public class MapDemo {

public static void main(String[] args) {

// TODO Auto-generated method stub

med2();

}

private static void med2() {

// TODO Auto-generated method stub

Map<String,String>  map  =  new HashMap<String,String>();

//添加元素

map.put("1","shili");

map.put("2","shili4");

map.put("3","shili2");

map.put("4","shili3");

//将Map集合跌映射关系取出,存入到set集合中

Set<Map.Entry<String, String>>  mapset = map.entrySet();

Iterator<Map.Entry<String, String>> it = mapset.iterator();

while(it.hasNext())

{

Map.Entry<String, String> m =it.next();

System.out.println(m.getKey()+"  "+m.getValue());

}

}

--------------------------------------------------------------------------------------------------------------------------

时间: 2024-10-19 06:41:45

黑马程序员——Map集合概述的相关文章

黑马程序员-Map集合

Map总结:tree排序,hsah保证唯一性 Map集合特点:该集合存储键值对,一对一对往里存,而且要保证键的唯一性. Map和Set很像,Set底层就是使用了Map集合.Map没有迭代器,要靠keySet和entrySet方法返回Set,在用迭代器. Map |--Hashtable:底层是哈希表数据结构,不可以存入键和值为Null.此实现是同步的.jdk1.0,效率低.------       |--Properties:用来存储键值对型的配置文件的信息,可以和IO技术相结合. 为了成功地在

黑马程序员_java集合概述

------- android培训.java培训.期待与您交流! ---------- 一.集合体系 面向对象语言对事物的体现都是以对象的形式,所以为了方便对多个对象的操作,就对对象进行存储,集合就是存储对象最常用的一种方式.数组和集合类同是容器,但是数组长度是固定的,数据类型也是固定的,集合类都是可变的. 下图是java中集合类的关系图. 上图是对集合类不停的向上抽取形成的继承体系.顶层为Collection接口 实现的两个常见子类接口List和Set List:可存放重复元素,元素存取是有序

黑马程序员——Java集合基础知识之Map

Map概念 要同时存储两个元素Key和Value,他们之间有映射关系,每个键不能重复,每个键只能映射到一个值. 当数据之间存在映射关系的时候,考虑使用Map集合. Map常用方法 如果添加的键原来有值,后添加的值会覆盖前面的值,并返回之前的值.put会返回来先添加的值,后添加的值会覆盖原有的值. Map tm =new TreeMap(); tm.put (key, value);//MAP没有add tm.remove (key) ;//去除一个key和对应的value,若不存在key返回nu

黑马程序员_集合

集合1.集合和对象数组的区别: 数组的长度不可变,集合的可变: 数组可以存储基本数据类型和对象,集合只能存储对象. 集合的框架图 集合派系的顶层接口Collection1.Collection集合存储对象的方法: add(E e)将元素存储到集合中 addAll(Collection c)将一个集合添加到另外的集合中2.Collection集合提取对象的方法: 通过迭代器iterator中的方法:hasNext()和next()来取出 Iterator it=new iterator(); wh

黑马程序员_Java集合框架

- - - - - android培训.java培训.期待与您交流! - - - - - - 集合框架:用于存储数据的容器. 特点: 对象封装数据,对象多了也需要存储.集合用于存储对象. 对象的个数确定可以使用数组.如果不确定可以用集合.因为集合是可变长度的. 集合和数组的区别: 数组是固定长度的:集合可变长度的. 数组可以存储基本数据类型,也可以存储引用数据类型:集合只能存储引用数据类型. 数组存储的元素必须是同一个数据类型:集合存储的对象可以是不同数据类型. 数据结构:就是容器中存储数据的方

黑马程序员——Java集合基础知识之Collection

集合基础知识--Collection Java中集合框架由常用的Collection接口和Map接口组成,而Collection接口又有两个子接口,是List接口和Set接口,常用的集合框架由这三个类组成. List接口的功能方法 List的使用最为简单,创建集合,通过add方法添加元素,get方法获取元素,通过迭代器获取元素.List接口存放的数据无序的,添加速度快,但是查询速度慢,因为查询的时候必须遍历,每次都重头开始,效率较低.常用实现类有ArrayList,LinkedList. Lis

黑马程序员---Java集合框架

---------------------- Android开发.java培训.期待与您交流! ---------------------- Java集合框架 集合我们都知道是用来储存对象的容器,那之前的数组不也可以储存对象么,为什么要出现集合呢? 面向对象语言对事物的体现都是以对象的形式,所以为了方便对多个对象的操作,就对对象进行存储,然而集合类中提供很多方便操作对象存储的方法,要比数组更容易操作对象,而且集合的长度是可变的,然而数组长度确实固定不变的,这样不利于对对象的间隔储存.  数组和集

黑马程序员——Java集合工具类和泛型

Collections工具类和泛型 Collections和Collection Collections和Collection是不同的,Collections是工具类,用来操作集合的,而Collection是集合接口.Collections中有一系列的静态方法用来操作集合,但是不能更改集合内容.比如不能set()不能remove()元素,可以替换全部元素或者添加同一个元素. static List<String> list =Arrays .asList("one Two three

黑马程序员——java集合框架(Map和工具类)

1.Map体系下有三个子类: HashMap    底层是哈希表数据结构,可以存入null键和null值,不同步---TreeMap    底层是二叉树数据结构,线程同步,可以用于给map集合中的键进行排序 和Set很像,Set底层是Map  添加元素时,如果出现相同键,那么厚添加的值会覆盖原有键对应的值,并且put方法会返回被覆盖的值 2.map集合的两种取出方式:  (1) keySet():将map中所有的键存入到Set集合,因为set具备迭代器                 可以以迭代