Map接口与方法

value时可重复的,但无序的,用Collection来简称。 

Entry: 键值对 对象。

        在Map类设计是,提供了一个嵌套接口(static修饰的接口):Entry。Entry将键值对的对应关系封装成了对象,即键值对对象,这样我们在遍历Map集合时,就可以从每一个键值对(Entry)对象中获取对应的键与对应的值。

HashMap的实现原理 JDK7中

在JDK8中: 

Map接口的方法:

package MapInterface;import org.junit.Test;import java.util.*;/*
map接口中的常用方法*/
public class MapMethod {@Testpublic void test1(){Map map = new HashMap();map.put("aa",123);map.put("bb",456);map.put("cc",789);map.put("dd",101112);System.out.println(map);Map map1 = new HashMap();//        修改map1.put("cc",123);map1.put("dd",123);map.putAll(map1);System.out.println(map);//        remove(Object key)Object value = map.remove("cc");System.out.println(value);System.out.println(map);//        clear()清空map中的数据,与map=null 不同map.clear();System.out.println(map);}
//    元素查询@Testpublic void test2(){Map map = new HashMap();map.put("aa",123);map.put(123,"aa");map.put("bb",456);
//      get(key)System.out.println(map.get(123));
//        containisKey(key)boolean isExist = map.containsKey("bb");System.out.println(isExist);
//        containisValue(value)isExist = map.containsValue(123);System.out.println(isExist);Map map1 = new HashMap();map1.put(123,"aa");map1.put("aa",123);map1.put("bb",456);System.out.println(map.equals(map1));}@Testpublic void test3(){Map map = new HashMap();map.put(123,1);map.put(012,2);map.put(456,4);System.out.println(map);}@Test
//    keySet:遍历key、value、key-value集合。public void test4(){Map map = new HashMap();map.put(123,1);map.put(012,2);map.put(456,4);//       遍历keySet set = map.keySet();Iterator iterator = set.iterator();while (iterator.hasNext()){System.out.println(iterator.next());}//        遍历valueCollection values = map.values();for (Object obj : values){System.out.println(obj);}//        方式1:Set keyValue = map.entrySet();Iterator iterator1 = keyValue.iterator();while (iterator1.hasNext()) {
//            Object key = iterator1.next();
//            Map.Entry entry = (Map.Entry)key;
//            System.out.println(entry.getKey()+"===="+entry.getValue());System.out.println(iterator1.next());}//        方式2:Set keySet = map.keySet();Iterator iterator2 = keySet.iterator();;while(iterator2.hasNext()){Object key = iterator2.next();Object value = map.get(key);System.out.println(key+"===="+value);}}}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/418112.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

自定义泛型结构

注意事项: 子类保留的情况: 泛型方法: 在方法中出现了泛型的结构,泛型参数与类的参数没有一点关系泛型方法在所属类中是不是泛型的都没关系 也可以调用为static,因为在调用方法时缺点,而不是在构造对象时

泛型在继承方面的体现与通配符

List<String>与List<Object>&#xff0c;并不具备父子类关系 List<Object>与ArrayList<Object> 存在父子类关系 通配符&#xff1a; <?> 通配符的读取和写入的要求&#xff1a; 对于list<?> 不能在添加数据&#xff1a; list.add()不…

WebAPi返回类型到底应该是什么才合适,这是个问题?

前言 有些问题只有真正遇到或者用到并且多加思考才会想到&#xff0c;平常若作为自学的心态去学习则不会考虑太多&#xff0c;我慢慢明白对于那些有太多要学的东西或者说的更加明确而且具体一点的话&#xff0c;如果对于你现在不是迫切要学或者需要掌握的技能&#xff0c;那就暂…

射击大战H5

欢迎来到程序小院 射击大战 玩法&#xff1a;移动鼠标控制方向&#xff0c;敌人从四周来袭&#xff0c;看到敌人点击鼠标左键射击&#xff0c;不要让敌人接近你&#xff0c; 碰到敌人生命值减少&#xff0c;生命值为空游戏结束&#xff0c;快去射击吧^^。开始游戏https://www.…

File类的使用

常用构造器&#xff1a; package File;import org.junit.Test;import java.io.File;public class FileTest {Testpublic void test1(){ // 如何创建File类的实例&#xff1a;构造器一&#xff1a; // 相对于当前module // (相对路径)相较于某个路径下File…

php正规则表达式学习笔记(几个常用函数的区别)

preg_mache()函数和 preg_mache_all()函数的区别&#xff1a; preg_mache()只会匹配规则中的字符一次&#xff0c; preg_mache_all()会匹配符合条件的所有字符&#xff01; 例子对比&#xff1a; 正则表达式函数之preg_replace()与preg_filter()的区别&#xff1a; preg_replac…

IO流的体系及FileReader、FileWriter

package IOStream;import org.junit.Test;import java.io.File; import java.io.FileReader; import java.io.IOException;public class FileReadWriter {//Testpublic void testFileReader() { // fr需要提前声明FileReader fr null; // 1.实例化File类的对象…

使用R进行相关性分析

基于R进行相关性分析 一、相关性矩阵计算&#xff1a; [1] 加载数据&#xff1a; >data read.csv("231-6057_2016-04-05-ZX_WD_2.csv",headerFALSE) 说明&#xff1a;csv格式的数据&#xff0c;headerFALSE 表示没有标题&#xff0c;即数据从第一行开始。 [2] …

FileInputStream与FileOutputStream

FileReader与FileWriter 只能用于文本文件&#xff0c;如.txt,.java,.c,.c等 对于图片&#xff0c;视频等字节流文件需要用字节流即&#xff1a;FileInputStream与FileOutputStream package IOStream;import org.junit.Test;import java.io.File; import java.io.FileInputS…

缓冲流的介绍

package BufferStream; /* 缓冲流的使用*/ import org.junit.Test;import java.io.*;public class BufferTest {/*实现非文本文件的复制*/Testpublic void BufferedStreamTest() throws IOException {BufferedInputStream bis null;BufferedOutputStream bos null;try { // …

转换流的介绍

InputStreamReader与OutputStreamWriter 也是处理流 package TransformStream;import org.junit.Test;import java.io.FileInputStream; import java.io.IOException; import java.io.InputStreamReader;public class InputStreamReaderTest {Testpublic void test1() throws…

DOM事件与jQuery事件的是非纠葛

在javascript和JQuery之中&#xff0c;都有事件的处理方式&#xff0c;在我们编写程序实现某些功能的时候&#xff0c;我们会发现使用原生的DOM事件与JQuery中封装的事件都能实现同样的效果&#xff0c;那么也许我们会认为他们之间的区别不是很大&#xff0c;甚至说基本没有区别…

其他流的使用

输入输出流 数据流&#xff1a; /*数据流DataInputStream和DataOutputStream作用&#xff1a;用于基本数据类型遍历或字符串的读取和写入*/Testpublic void test1() throws IOException { // 写入操作DataOutputStream dos new DataOutputStream(new FileOutputStream(…