//导入的包。
import java.util.*;
//创建的一个类。
public class zylx1 {
  //公共静态的主方法。
public static void main(String[] args){
    //调用方法。
lx4();
}
//创建方法。
private static void lx1() {
//创建一个集合元素。
//此类实现 Set 接口,由哈希表(实际上是一个 HashMap 实例)支持。
// 它不保证 set 的迭代顺序;特别是它不保证该顺序恒久不变。此类允许使用 null 元素。
Set<String> set = new HashSet<>();
//添加元素。
set.add("李白");
set.add("李白1");
set.add("李白2");
set.add("李白3");
set.add("李白4");
set.add("李白5");
set.add("李白6");
set.add("李白7"); //增强for循环遍历。
for (String s:set){
System.out.println(s);
}
System.out.println("==================");
//迭代器遍历。
Iterator<String> it = set.iterator();
//while判断有没有下一个元素
while (it.hasNext()){
System.out.println(it.next());
} }
public static void lx2(){
/* Set<String> set = new HashSet<String>();
set.add("1");
set.add("2");
set.add("3");
set.add("4");
set.add("5");
System.out.println(set);
*/
System.out.println("========================");
     //创建一个集合。
Set<Person> set = new HashSet<Person>();
     //添加元素。
set.add(new Person("诗仙三号",451));
set.add(new Person("诗仙一号",452));
set.add(new Person("诗仙二号",453));
set.add(new Person("诗仙四号",454));
Iterator<Person> it = set.iterator();
while (it.hasNext()){
//重新定义Person类,使其获取元素。
//it.next 只能出现一次。否则会报异常。
Person s = it.next();
System.out.println(s.getName()+s.getAge());
}
// for (Person i:set){
// System.out.println(i);
// }
}
public static void lx3(){
//创建map集合。Map它是一个完全抽象的类而不是接口。HashMap是基于哈希表实现的Map接口。
Map<Integer,String> map = new HashMap<>();
//添加键位和元素。将键映射到值的对象。 不能包含重复的键; 每个键可以映射到最多一个值。
//put就是map方法里的添加方法。
map.put(1," 张无忌");
map.put(2,"白居易");
map.put(3,"八十五");
map.put(3,"伍六七");
//键值不允许重复,如果重复会覆盖掉之前的值。
//可以根据下标进行排序。
map.put(0,"刺客伍六七");
System.out.println(map);
//删除为键位为1的元素并且打印。
String s = map.remove(1);
System.out.println(map);
//选出键位为3的元素并且打印。
String s1 = map.get(3);
System.out.println(s1);
}
public static void lx4(){
//创建map集合。
Map<String, String> m = new HashMap<>();
//添加键和值。
m.put("天龙八部","倚天屠龙");
m.put("上官疯子","宏茂莎霞");
m.put("辉煌龙儿","纱帽滞胀");
//通过键位获得它的value值。
Set<String> s = m.keySet();
//创建迭代器。
Iterator<String> it = s.iterator();
while (it.hasNext()){
//获得key元素。(键)
String key = it.next();
//获得键所在位置后面的value值。
String value = m.get(key);
//System.out.println(key+""+value);
}
for (String id:m.keySet()){
String value1 =m.get(id);
System.out.println(id+""+value1);
}
}
public static void lx5(){ } }

Map-->HashMap练习(新手)的更多相关文章

  1. Collections+Iterator 接口 | Map+HashMap+HashTable+TreeMap |

    Collections+Iterator 接口 1. Collections 是一个操作 Set.List 和 Map 等集合的工具类 Collections 中提供了大量方法对集合元素进行排序.查询 ...

  2. ES6 & Map & hashMap

    ES6 & Map & hashMap 01 two-sum https://leetcode.com/submissions/detail/141732589/ hashMap ht ...

  3. Map HashMap 排序 迭代循环 修改值

    HashMap dgzhMap = Dict.getDict("dgzh"); Iterator it_d = dgzhMap.entrySet().iterator(); whi ...

  4. Map随笔:最常用的Map——HashMap

    目录 Map随笔:最常用的Map--HashMap 前言: 1,HashMap的结构 2,HashMap的一些属性(JDK8) 3,HashMap的构造函数(JDK8) 4,HashMap的一些方法( ...

  5. [Java] Map / HashMap - 源代码学习笔记

    Map 1. 用于关联 key 和 value 的对象,其中 key 与 key 之间不能重复. 2. 是一个接口,用来代替 Java 早期版本中的 Dictionary 抽象类. 3. 提供三种不同 ...

  6. 高并发第九弹:逃不掉的Map --> HashMap,TreeMap,ConcurrentHashMap

    平时大家都会经常使用到 Map,面试的时候又经常会遇到问Map的,其中主要就是 ConcurrentHashMap,在说ConcurrentHashMap.我们还是先看一下, 其他两个基础的 Map ...

  7. Map / HashMap 获取Key值的方法

    方法1:keySet()HashMap hashmp = ne HashMap();hashmp.put("aa", "111");Set set = hash ...

  8. Map:HashMap和TreeMap

    一.Map集合     特点:将键映射到值得对象 Map集合和Collection集合的区别? Collection:是单列集合,存储的是单独出现的元素    Map: 是双列集合,存储的是键值对形式 ...

  9. Java集合 之Map(HashMap、Hashtable 、TreeMap、WeakHashMap )理解(new)

    HashMap 说明: 在详细介绍HashMap的代码之前,我们需要了解:HashMap就是一个散列表,它是通过“拉链法”解决哈希冲突的.还需要再补充说明的一点是影响HashMap性能的有两个参数:初 ...

  10. golang 多维哈希(map,hashmap)实践随笔

    有些场景使用多维哈希来存储数据,时间复杂度恒定,简单粗暴好用.这里记录一下. 如下是三维哈希的简单示意图,建议层数不要太多,否则时间久了,自己写的代码都不认识. 下图是三维哈希在内存的存储形式,has ...

随机推荐

  1. CodeFroces New Assignment 二分图匹配

    There is a class consisting of n students, in which each one has a number representing his/her perso ...

  2. IDEA如何自动添加注解作者等信息?

    1.点击File 2.点击Settings 3.点击Editor 4.点Live  Templates 5.点击左上角加号选中第2个 6.自定义命名,选中你自己创建的组,点击左上角加号选择第1个选项 ...

  3. android activity 启动过程分析(source code 4.4)

    说实话,android source code从2.3到4.4变化是蛮多的,尤其是media部分,虽然总的框架是没有多大变化,但是找起代码来看还是挺麻烦的.在android里面最受伤的是使用了java ...

  4. react-router简单使用方法

    使用 传值 非Link跳转 路由返回 v2,v3里的跳转,返回和传值 问题 react-router版本 v4.x 跟着官网 https://reacttraining.com/react-route ...

  5. Gnome Ubuntu16安装Nvidia显卡396驱动,CUDA9.2以及cudnn9.2

    深度学习环境配置,安装Nvidia显卡驱动,CUDA以及cudnn OS:ubuntu 16.04;driver: nvidia 396;CUDA: 9.2cudnn: 9.2 卸载原有Nvidia驱 ...

  6. 直接拿来用,10个PHP代码片段(收藏)

    直接拿来用,10个PHP代码片段(一) http://www.csdn.net/article/2013-07-23/2816316-10-php-snippets-for-developers 直接 ...

  7. C++扬帆远航——8(张三李四,等差数列)

    /* * Copyright (c) 2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名:qiudengcha数列.cpp * 作者:常轩 * 完成日期: ...

  8. 探究 Go 语言 defer 语句的三种机制

    Golang 的 1.13 版本 与 1.14 版本对 defer 进行了两次优化,使得 defer 的性能开销在大部分场景下都得到大幅降低,其中到底经历了什么原理? 这是因为这两个版本对 defer ...

  9. 初学Qt——QTableView+QSqlqueryModel

    我们在显示报表时可以用到上面两个类来实现,QTableView负责对视图显示:QSqlqueryModel则负责数据模块. 这里数据查询使用QSqlqueryModel主要是这个类可以通过自己写的查询 ...

  10. All In One

    set1 https://github.com/tianhang-f... set2 https://github.com/tianhang/F... set3https://github.com/t ...