[javaSE] 集合框架(Map概述)

Map集合,将key对象映射到value对象

三个主要的子类:Hashtable,HashMap,TreeMap

Hashtable:底层是哈希表数据结构,不允许使用null值,线程同步

HashMap:底层是哈希表数据结构,允许使用null值,线程不同步

TreeMap:底层是二叉树数据结构,线程不同步,可以用于给Map集合中的键排序

使用keySet()方法遍历Map集合

调用Map对象的keySet()方法,得到Set对象,这里存储的是所有的键

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

public class MapDemo {

    /**
     * @param args
     */
    public static void main(String[] args) {
        Map<String,String> map=new HashMap<String,String>();
        map.put("name", "taoshihan");
        map.put("age", "100");
        map.put("gender", "female");

        Set<String> keySet=map.keySet();
        for(String key:keySet){
            System.out.println(map.get(key));
        }

        //TreeMap可排序
        Map<StudentTreeMap,String> treeMap=new TreeMap<StudentTreeMap,String>();
        treeMap.put(new StudentTreeMap("taoshihan1", 40), "陶士涵");
        treeMap.put(new StudentTreeMap("taoshihan2", 30), "陶士涵2");
        treeMap.put(new StudentTreeMap("taoshihan3", 50), "陶士涵3");
        Set<StudentTreeMap> treeMapSet=treeMap.keySet();
        for(StudentTreeMap key:treeMapSet){
            System.out.println(key.name+"====="+key.age);
        }
    }

}
class StudentTreeMap implements Comparable<StudentTreeMap>{

    public int age;
    public String name;
    public StudentTreeMap(String name,int age) {
        this.name=name;
        this.age=age;
    }
    @Override
    public int compareTo(StudentTreeMap o) {
        if(o.age<this.age){
            return 1;
        }else{
            return -1;
        }
    }

}

时间: 2024-11-04 20:11:48

[javaSE] 集合框架(Map概述)的相关文章

[javaSE] 集合框架Map概述

cJONS%E5%BA%8F%E5%88%97%E5%8C%96%E5%B7%A5%E5%85%B7%E8%A7%A3%E8%AF%BB%E4%B8%89%E4%BD%BF%E7%94%A8%E6%A1%88%E4%BE%8B ????οJGAYqHnT?????????? http://auto.315che.com/aodietron/qa23997367.htm http://auto.315che.com/tly/qa23660704.htm?8p ?????DVziyolx??????

javaSE集合框架

7.集合框架  集合: Collection接口   : -List接口  (有序的,通常允许重复)   -实现类:ArrayList(用可变数组实现,不是同步的(线程不安全)) :适合查找,添加  LinkedList(双向链表的实现,不是同步的):适合插入,删除    Vector(用可变数组实现,同步的):适合查找,添加 -Set接口  (无序的,不允许重复) -实现类:HashSet(无序的,不同步,不允许重复)     TreeSet(有序的,不同步,不允许重复) Collection

[javaSE] 集合框架(体系概述)

为什么出现集合类 为了方便对多个对象的操作,对对象进行存储,集合就是存储对象最常用的一种方式 数组和集合的不同 数组是固定长度的,集合是可变长度的 数组可以存储基本数据类型,集合只能存储对象 数组只能存储同一种对象,集合可以存储多种对象 常见体系 容器有很多种,有特性和共性,我们对共性进行不断的向上抽取,就形成了一个体系,这就是集合框架 最顶层Collection接口,分出两个常用的子接口List和Set List接口分出三个常见的ArrayList,LinkedList,Vector Set接

集合框架-Map

 Map集合 * 1.Map集合中存储的是一对儿元素.键和值.之间存在着对应关系. * 2.必须要保证键的唯一性. * 3.如果存储键相同,值会覆盖. 集合框架-Map-常见方法 put(K key, V value)     将指定的值与此映射中的指定键关联(可选操作). 返回: 返回与 key 相关联的先前值,如果 key 没有映射关系,则返回 null(返回 null 可能还表示映射以前将 null 与指定键关联) get(Object key) 返回: 指定键所映射的值:如果此映射不包含

java集合框架--Map集合

1.Map集合的概述 Map集合是将键映射到值的对象.一个映射不能包含重复的键.每个键最多只能映射到一个值. 2.Map接口和Collection接口的不同? Map集合存储元素是成对出现的,Collection集合存储元素是单独出现的. Map集合的键是唯一的,值是可重复的. Collection集合的子接口Set是唯一的,List是可重复的. Map集合的数据结构值针对键有效,和值无关,而Collection接口的数据结构是针对元素有效. 3.Map集合示例及功能 package cn; i

黑马程序员-Java基础---集合框架-Map

第一讲 Map概述&子类对象特点&共性方法 1.  定义 Map集合:该集合存储键值对,一对一对的往里存,而且要保证键是唯一的.若存了重复的键,那么对应此键的值将被后一个覆盖. 2.  Map子类对象特点 Map集合有如下三个子类: l  Hashtable:底层是哈希表数据结构,不可存入null键或null值.线程同步,JDK1.0就有,效率稍低. l  HashMap:底层是哈希表数据结构,可以存入null键或null值.线程同步,JDK1.2出现,效率较高. l  TreeMap:底

Java中的集合框架-Map

前两篇<Java中的集合框架-Commection(一)>和<Java中的集合框架-Commection(二)>把集合框架中的Collection开发常用知识点作了一下记录,从本篇开始,对集合框架里的另外一部分Map作一下记录. 一,集合框架的Map接口 Map与Collection不同之处在于它是以键值对来存储数据: Map比较常用的实现类有四个:HashTable,HashMap,LinkedHashMap,TreeMap: Map的方法也可以分为四类,增删改查,大致如下: 新

一、集合框架体系概述

1.为什么出现集合类?• 面向对象语言对事物的体现都是以对象的形式,所以为了方便对多个对象的操作,就对对象进行存储,集合就是存储对象最常用的一种方式.2.数组和集合类同是容器,有何不同?• 数组虽然也可以存储对象,但长度是固定的:集合长度是可变的.数组中可以存储基本数据类型,集合只能存储对象 3.集合类的特点 • 集合只用于存储对象,集合长度是可变的,集合可以存储不同类型 的对象. 4.集合容器因为内部的数据结构不同,有多种具体容器.不断的向上抽取,就形成了集合框架. =============

集合框架Map之KeySet方法的使用

package cn.itcast.map; import java.util.HashMap;import java.util.Iterator;import java.util.Map;import java.util.Set; public class MapKeySetTest { /**  * @param args  */ public static void main(String[] args) { Map<Integer, String> map=new HashMap<