集合框架06

一、Map接口

 1 public class Demo01 {
 2     /*
 3      * Map接口中的常用方法
 4      * 使用Map接口的实现类HashMap
 5      */
 6     public static void main(String[] args) {
 7         //function();
 8         function_2();
 9     }
10     /*
11      * 将键值对存储到集合中
12      * V put(K,V) K作为键的对象,V作为值得对象
13      * 存储的是重复的键,会覆盖值
14      * 返回值一般是空
15      */
16     public static void function(){
17         Map<String,Integer> map = new HashMap<String,Integer>();
18         map.put("a", 1);
19         map.put("b", 2);
20         map.put("c", 3);
21
22         System.out.println(map);
23     }
24     /*
25      * 通过键,获取值
26      * V get(K)
27      * 如果集合没有指定的键,返回NULL
28      */
29     public static void function_1(){
30         Map<String,Integer> map = new HashMap<String,Integer>();
31         map.put("a", 1);
32         map.put("b", 2);
33         map.put("c", 3);
34         System.out.println(map);
35
36         System.out.println(map.get("a"));
37         System.out.println(map.get("v"));
38     }
39     /*
40      * 移除集合中的键值对,返回被移除的值
41      * V remove(K)
42      */
43     public static void function_2(){
44         Map<String,Integer> map = new HashMap<String,Integer>();
45         map.put("a", 1);
46         map.put("b", 2);
47         map.put("c", 3);
48         System.out.println(map);
49
50         Integer i = map.remove("a");
51         System.out.println(i);
52         System.out.println(map);
53     }
54 }
 1 public class Demo02 {
 2     /*
 3      * Map集合的遍历
 4      *     利用键获取值
 5      *     Map接口中定义方法keySet
 6      *     所有的键,存储到Set集合
 7      */
 8     public static void main(String[] args) {
 9         /*
10          * 1.调用map集合的方法KeySet,所有的键存储到Set集合中
11          * 2.遍历Set集合,获取出Set集合中所有的元素(map中的键)
12          * 3.调用map集合方法get,通过键获取值
13          */
14         Map<String,Integer> map = new HashMap<String,Integer>();
15         map.put("a1", 11);
16         map.put("a2", 12);
17         map.put("a3", 13);
18         map.put("a4", 14);
19         map.put("a5", 15);
20
21         Set<String> set = map.keySet();
22         System.out.println(set.getClass());   //java.util.HashMap$KeySet HashMap的内部类KeySet
23         Iterator<String> it = set.iterator();
24         while(it.hasNext()){
25             //it.next返回的是Map中的键
26             String key = it.next();
27             Integer value = map.get(key);
28             System.out.println(key+":"+value);
29         }
30         System.out.println("===========");
31         for(String key:set){
32             Integer value = map.get(key);
33             System.out.println(key+":"+value);
34         }
35     }
36 }
 1 public class Demo03 {
 2     /*
 3      * Map集合获取方法
 4      * entrySet方法,键值对映射关系
 5      * 实现步骤:
 6      *     1.调用map集合方法entrySet()将集合中的映射关系对象,存储到Set集合
 7      *         Set<Entry<K,V>>
 8      *     2.迭代Set集合
 9      *     3.获取出的Set集合的元素,是映射关系
10      *     4.通过映射关系对象方法getKet,getValue获取键值对
11      */
12     public static void main(String[] args) {
13         Map<Integer,String> map = new HashMap<Integer,String>();
14         map.put(11, "a1");
15         map.put(12, "a2");
16         map.put(13, "a3");
17         map.put(14, "a4");
18         map.put(15, "a5");
19
20         Set<Map.Entry<Integer,String>> set = map.entrySet();
21         Iterator <Map.Entry<Integer,String>> it = set.iterator();
22         while(it.hasNext()){
23             //it.next 获取的是Map.Entry对象
24             Map.Entry<Integer, String> entry = it.next();
25             Integer key = entry.getKey();
26             String value = entry.getValue();
27             System.out.println(key+":"+value);
28         }
29         System.out.println("=======");
30         for(Map.Entry<Integer, String> entry:map.entrySet()){//增强for不能直接遍历Map
31             System.out.println(entry.getKey()+":"+entry.getValue());
32         }
33     }
34 }
时间: 2024-08-26 08:26:58

集合框架06的相关文章

黑马程序员_JavaSE学习总结第15天_集合框架1

------- android培训.java培训.期待与您交流! ----------  15.01 对象数组的概述和使用 1 public class Student 2 { 3 // 成员变量 4 private String name; 5 private int age; 6 7 // 构造方法 8 public Student() 9 { 10 super(); 11 } 12 13 public Student(String name, int age) 14 { 15 super(

Java 集合系列 06 Stack详细介绍(源码解析)和使用示例

java 集合系列目录: Java 集合系列 01 总体框架 Java 集合系列 02 Collection架构 Java 集合系列 03 ArrayList详细介绍(源码解析)和使用示例 Java 集合系列 04 LinkedList详细介绍(源码解析)和使用示例 Java 集合系列 05 Vector详细介绍(源码解析)和使用示例 Java 集合系列 06 Stack详细介绍(源码解析)和使用示例 第1部分 Stack介绍 Stack简介 Stack是栈.它的特性是:先进后出(FILO, F

JavaSE_ 集合框架 总目录(15~18)

黑马程序员_JavaSE学习总结第15天_集合框架1 15.01 对象数组的概述和使用15.02 对象数组的内存图解15.03 集合的由来及与数组的区别15.04 集合的继承体系图解15.05 Collection集合的功能概述15.06 Collection集合的基本功能测试15.07 Collection集合的高级功能测试15.08 集合的遍历之集合转数组遍历15.09 Collection存储自定义对象并遍历案例(使用数组)15.10 集合的遍历之迭代器遍历15.11 Collection

Java集合框架面试题

www.cnblogs.com/zhxxcq/archive/2012/03/11/2389611.html 这里的两个图很形象,由于放进图片链接,图片显示不了,所以只能给出该链接. Java集合框架是最常被问到的Java面试问题,要理解Java技术强大特性就有必要掌握集合框架.这里有一些实用问题,常在核心Java面试中问到. 1.什么是Java集合API Java集合框架API是用来表示和操作集合的统一框架,它包含接口.实现类.以及帮助程序员完成一些编程的算法.简言之,API在上层完成以下几件

如果天空不是集合框架阅读列表整理

如果天空不死的主页https://home.cnblogs.com/u/skywang12345 Java 集合系列01之 总体框架 Java 集合系列02之 Collection架构 Java 集合系列03之 ArrayList详细介绍(源码解析)和使用示例 Java 集合系列04之 fail-fast总结(通过ArrayList来说明fail-fast的原理.解决办法) Java 集合系列05之 LinkedList详细介绍(源码解析)和使用示例 Java 集合系列06之 Vector详细介

JavaSE学习总结第15天_集合框架1

15.01 对象数组的概述和使用 1 public class Student 2 { 3 // 成员变量 4 private String name; 5 private int age; 6 7 // 构造方法 8 public Student() 9 { 10 super(); 11 } 12 13 public Student(String name, int age) 14 { 15 super(); 16 this.name = name; 17 this.age = age; 18

第48节:Java当中的集合框架

Java当中的集合框架 01 在我们班里有50位同学,就有50位对象. // 简书作者:达叔小生 Student[] stus = new Student[20]; 结果来了一位插班生,该同学因为觉得学IT行业好,才要求老师转专业的.可以结果没有多余的空位了,数组里的长度都是安排好的,没有空间了. 为了解决新同学的问题,老师们重新创建一个空间(重复创建一个新的数组),为了能够更好的解决问题,老师提供了可以不断扩大空间(Java提供了集合,当数据多了,个数不稳定时,可以用集合). 在Java中,数

Java—集合框架List

集合的概念 现实生活中:很多的事物凑在一起 数学中的集合:具有共同属性的事物的总和 Java中的集合类:是一种工具类,就像是容器,存储任意数量的具有共同属性的对象 集合的作用 在类的内部,对数据进行组织(针对作用与意义一样的属性,将他们放到一个集合中) 简单而快速的搜索大数量的条目 有的集合接口,提供了一系列排列有序的元素,并且可以在序列中快速的插入或删除有关元素 有的集合接口,提供了映射关系,可以通过关键字(key)去快速查找到对应的唯一对象,而这个关键字可以是任意类型 与数组相比 数组的长度

《深入理解Java集合框架》系列文章

Introduction 关于C++标准模板库(Standard Template Library, STL)的书籍和资料有很多,关于Java集合框架(Java Collections Framework, JCF)的资料却很少,甚至很难找到一本专门介绍它的书籍,这给Java学习者们带来不小的麻烦.我深深的不解其中的原因.虽然JCF设计参考了STL,但其定位不是Java版的STL,而是要实现一个精简紧凑的容器框架,对STL的介绍自然不能替代对JCF的介绍. 本系列文章主要从数据结构和算法层面分析