Map集合测试含答案
单选题(15题)
1以下关于Map集合说法不正确的是
A、 Map中的集合可以包含重复的键,重复的值
B、 Map中的集合,每个键只能对应一个值
C、 Map中每个元素由键与值两部分组成,通过键可以找到对应的值
D、 Map中keyset()获得所有键
正确答案:A
Map集合的特点:
1.Map是一个双列集合,一个元素包含两个值(一个key,一个value)2.Map集合中的元素,key和value的数据类型可以相同,也可以不同
3.Map中的元素,key不允许重复,value可以重复
4.Map里的key和value是一一对应的。
key和value都是引用数据类型,存的都是内存的地址。
Map遍历有两种方法。一种是通过keySet()获取所有的set值进行遍历操作;另一种是通过Map 的enttySet()方法
2下列有关Map集合描述正确的是
A、 如果往HashMap的键位置存储自定义对象,那么必须重写hashCode和equals方法,否则编译报错
B、 HashMap集合可以使用add方法是将数据添加到集合的末尾
C、 HashMap是双列集合一次可以存储一对数据,其中键是可以重复的,值不可以重复
D、 HashMap集合底层是哈希表结构
正确答案:D
HashMap存储自定义类型键值,Map集合为保证key是唯一的,作为key的元素,必须重写hashCode方法和equals方法,以保证key唯一,如果没重写也不会报编译错误,只是得不到预期结果。
添加元素是用put方法
HashMap 是一个散列表,它存储的内容是键值对(key-value)映射。
hashMap的key和value都可以是null,但由于key唯一,value的值可以是重复的。hashMap虽然支持key和value为null,但是null作为key只能有一个,null作为value可以有多个;因为hashMap中,如果key值一样,那么会覆盖相同key值的value为最新,所以key为null只能有一个。
HashMap 实现了 Map 接口,根据键的 HashCode 值存储数据,具有很快的访问速度,最多允许一条记录的键为 null,不支持线程同步。
HashMap 是无序的,即不会记录插入的顺序。
HashMap 继承于AbstractMap,实现了 Map、Cloneable、java.io.Serializable 接口。
3以下关于HashSet集合存储自定义元素说法正确的是
A、 HashSet存储元素底层是依赖于hashCode和equals方法,自定义对象要重写hashCode和equals方法才能保证元素的唯一
B、 HashSet存储元素底层是依赖于hashCode和equals方法,自定义对象只需要重写equals方法就能保证元素的唯一
C、 HashSet存储元素底层是依赖于hashCode和equals方法,自定义对象只需重写hashCode方法就能保证元素的唯一
D、 HashSet存储元素底层是依赖于hashCode和equals方法,自定义对象不用重写hashCode和equals方法也能保证元素的唯一
正确答案:A
4Map集合的put方法添加key和value,如果键不存在是
A、 删除
B、 获取
C、 修改
D、 添加
正确答案:D
5Map集合的put方法添加key和value,如果键存在则是
A、 添加
B、 删除
C、 覆盖
D、 什么都没有发生
正确答案:C
6下列代码的运行结果是
HashMap<Integer, Integer> map = new HashMap<>();
map.put(1,"小明");
map.put(1,"小红");
map.put(2,"小刚");
System.out.println(map.size());
A、 1
B、 2
C、 3
D、 程序编译时报错
正确答案:D
7Iterator中返回迭代的下一个元素的方法是
A、 hasNext()
B、 next()
C、 iterator()
D、 add()
正确答案:B
8以下程序运行后的结果为
public class Test {public static void main(String[] args) throws Exception { Map<String, String> map = new HashMap<>(); map.put("1", "Jack"); map.put("2", "Rose"); map.put("3", "Lucy"); map.put("1", "LiLi"); Set<Map.Entry<String, String>> set = map.entrySet(); System.out.println(set.size()); }
}
A、 4
B、 6
C、 8
D、 3
正确答案:D
9下面哪个集合存储和取出是无序的
A、 ArrayList
B、 List
C、 HashMap
D、 LinkedList
正确答案:C
10以下代码片段执行后,控制台的输出结果为
public static void main(String[] args){Map<Integer, String> map = new HashMap<>();map.put(1,"Android");map.put(2,"PHP");map.put(3,"Python");map.put(1,"Java");map.remove(2);System.out.println(map.get(1));System.out.println(map.get(2));System.out.println(map.get(3));
}
A、 AndroidnullPython
B、 JavaPython
C、 AndroidPython
D、 JavanullPython
正确答案:D
11观察下列代码,输出的结果是
HashMap<String, Integer> map = new HashMap<>();
map.put("老王", 18);
map.put("小张", 20);
map.put("老王", 20);
System.out.println(map.get("老王"));
A、 老王:18
B、 20
C、 18
D、 老王:20 小张:20
正确答案:B
12以下代码运行结果为
TreeSet<String> set = new TreeSet<>();
set.add("aaa");
set.add("bbb");
set.add("aaa");
set.add("ddd");
set.add("ccc");
for (String str : set) {System.out.println(str);
}
A、 aaabbbcccddd
B、 aaaaaabbbcccddd
C、 dddcccbbbaaaaaa
D、 dddcccbbbaaa
正确答案:A
13以下哪段代码能实现元素存入不重复且元素按照首字母降序输出
A、 HashSet<String> set = new HashSet<String>(new Comparator<String>() {@Overridepublic int compare(String o1, String o2) {return o2.charAt(0) - o1.charAt(0);}
});Collections.put(set, "cc", "aa", "bb", "dd");
B、 HashSet<String> set = new HashSet<String>(new Comparator<String>() {@Overridepublic int compare(String o1, String o2) {return o1.charAt(0)-o2.charAt(0);}
});Collections.add(set, "cc", "aa", "bb", "dd");
C、 TreeSet<String> ts = new TreeSet<String>(new Comparator<String>() {@Overridepublic int compare(String o1, String o2) {return o2.charAt(0)-o1.charAt(0);}
});Collections.addAll(ts, "cc", "aa", "bb", "dd");
D、 TreeSet<String> hs = new TreeSet<String>(new Comparator<String>() {@Overridepublic int compare(String o1, String o2) {return o1.charAt(0)-o2.charAt(0);}
});Collections.addAll(hs, "cc", "aa", "bb", "dd");
正确答案:C
14下列创建集合的方式不正确的是
A、 ArrayList list = new ArrayList()
B、 ArrayList<int> list = new ArrayList<int>()
C、 ArrayList<String> list = new ArrayList<>()
D、 Map<String, Integer> map = new HashMap<String, Integer>()
正确答案:B
15下列关于Map集合的说法不正确的是
A、 Map集合没有索引
B、 Map集合的value可以重复
C、 Map集合的key和value只能是引用数据类型
D、 Map集合的key和value能存放基本数据类型的数据也能存放引用数据类型的数据
正确答案:D
多选题 (8题)
16下面说法正确的是
A、 栈先进后出
B、 队列先进先出
C、 链表增删慢,查询快
D、 数组增删快,查询慢
正确答案:A,B
17下列关于常见数据结构特点的说法中正确的是
A、 LinkedList底层是链表,查询慢,增删快
B、 ArrayList底层是数组,查询快,增删慢
C、 队列的特点是先进先出
D、 我们日常中的穿衣服和脱衣服与栈的特点类似
正确答案:A,B,C,D
18下列说法错误的是
A、 Iterator迭代器是用来迭代集合容器的
B、 Iterator的next()方法获取元素,并且指针移动到下一个位置
C、 Iterator迭代器迭代集合时,能使用集合添加或删除元素
D、 Iterator迭代器迭代集合时,不能使用集合添加或删除元素
正确答案:A,C
19下列选项描述Set集合特点正确的是
A、 A.Set集合不能存储重复元素
B、 Set集合是有索引
C、 Set集合是无索引
D、 HashSet集合存储自定义类型,想要不重复,需要在自定义类中重写hashCode和equals方法
正确答案:A,C,D
20下列遍历map集合中各元素的键和值正确的是
A、 Set<Integer> keys = map.keySet();
for (Integer key : keys) {System.out.println(key + ":" + map.get(key));
}
B、 Set<Map.Entry<Integer,String>> entrySet = map.entrySet();
for (Map.Entry<Integer, String> entry : entrySet) {System.out.println(entry.getKey() + ":" + entry.getValue());
}
C、 Set<Map.Entry<Integer,String>> entrySet = map.entrySet();
for (int i = entrySet.size() - 1; i >= 0; i--) {System.out.println(entrySet);
}
D、 Set<Integer> keys = map.keySet();
for (int i = keys.size() - 1; i >= 0; i--) {System.out.println(i);
}
正确答案:A,B
21下列能正确遍历Map集合的是
HashMap<String, String> hashMap = new HashMap<>();
hashMap.put("张无忌","赵敏");
hashMap.put("杨过","小龙女");
hashMap.put("郭靖","黄蓉");
hashMap.put("令狐冲","任盈盈");
A、 for (int i = 0; i < hashMap.size(); i++) {String s = hashMap.get(i);System.out.println(s);}
B、 Set<String> keySet = hashMap.keySet();for (String key : keySet) {String value = hashMap.get(key);System.out.println(key + "=" + value);}
C、 for (String s:hashMap){String s1 = hashMap.get(s);System.out.println(s1);}
D、 Set<Map.Entry<String, String>> entrySet = hashMap.entrySet();for (Map.Entry<String, String> entry : entrySet) {String key = entry.getKey();String value = entry.getValue();System.out.println(key + "==" + value);}
正确答案:B,D
22下列选项描述Map集合特点正确的是
A、 Map集合中的key不能重复
B、 Map集合中的value不能重复
C、 Map集合有索引
D、 Map集合无索引
正确答案:A,D
23下列选项描述Set集合特点正确的是()
A、 Set集合是无序的
B、 Set集合存储自定义类型,需要在自定义类中重写hashCod和equals方法保证元素不重复
C、 Set集合是有序的
D、 Set集合不能存储重复元素
正确答案:A,B,D
Map集合测试含答案相关推荐
- 小亮在使用计算机计算208,新苏教版数学四年级下册第四单元用计算器计算测试(含答案)...
苏教版数学四年级下册第四单元用计算器计算测试(含答案) 一.计算. 1.直接写出得数. 352+48= 25×20= 31×40= 0÷29= 46-35= 120×9= 48×25= 24×500= ...
- Java Se相关测试题(偏线程、集合)含答案及详解
Java Se相关测试题(偏线程.集合)(简答.编程)含答案及详解 一.选择.简答题 二.编程题 (编程答案有很多思路,实现方式不同,如果有不同见解可打在评论区或私信) 一.选择.简答题 1.publ ...
- Java面试题汇总2021最新(集合泛型含答案下载)
Java面试题及答案2021最新24题(集合&泛型) 最近给大家整理了一批Java面试题一共24题,主要是搜集的Java集合&泛型这块的,是20201最新时间整理的,并且都含答案打包下 ...
- 企业入职测试题目及答案_企业员工入职测试(含答案)
个飞 注意事项: 1 .请按要求在试卷的空白处填写. 2 .请仔细阅读各种题目的回答要求,并在规定的位置填写您的答案. 3 .请保持卷面整洁,字迹工整,不要在试卷上作任何与答题无关的标记. „„„„„ ...
- 知道的C君带你学语言的作业答案,知到《C君带你玩编程》2020章节测试(含答案)...
<知到<C君带你玩编程>2020章节测试(含答案)>由会员分享,可在线阅读,更多相关<知到<C君带你玩编程>2020章节测试(含答案)(16页珍藏版)> ...
- Hibernate 的Set、List、Map集合操作(添加,修改,查询)
首先配置User.hbm.xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hiber ...
- 安徽省计算机学业水平试题,安徽省信息技术学业水平测试模拟题二(含答案).docx...
安徽省信息技术学业水平测试模拟题二(含答案).docx 文档编号:1114848 文档页数:16 上传时间: 2020-07-24 文档级别:普通资源 文档类型:docx 文档大小:51.89KB 安 ...
- 当集合a为空集时a的取值范围_高中数学必修一第一章集合分节练习和章末测试题含答案[1] 2...
高中数学必修1 第一章 集合 分节练习和章末综合测试题含答案 §1 集合的含义与表示 1.下列各组对象能否组成一个集合? (1)接近于0的数的全体: (2)2的近似值的全体: (3)平面上到点O 的距 ...
- NCT青少年编程能力等级测试Python编程二级-模拟卷(含答案)
参考答案在文章后边部分,请看到后半部分的答案分割线,非常感谢哦! 试题NCT-Python编程三级-模拟卷1(含答案 一.选择题 1.Python语言属于( ). A.机器语言 B.汇编语言 C. ...
最新文章
- 决策树准确率低原因_机器学习决策树算法--剪枝算法
- 当React Native 遇到了Google reCAPTCHA
- tf/idf_Neo4j:带密码的TF / IDF(和变体)
- linux定时scp脚本,linux expect 实现定时scp的任务
- 软考网络工程师学习笔记5-局域网与城域网(二)
- Apache mod_rewrite
- Atitit glb 1tie 2tie city lst 一二线城市列表数据约50个一线城市Alpha ++ 阿尔法++,,London 伦敦,,New York 纽约,,Alpha +
- ios弧形进度条_iOS圆弧渐变进度条的实现
- 一篇讲完Java链表(单链表、循环链表和双向链表)
- 使用pandas的merge出现Empty DataFrame 和 Index: []
- HDU 1275(两车追及或相遇问题)
- Real-Time Rendering——5.3.3 Material Systems 材质系统
- 阿里巴巴集团急招职位
- 深度 | 实景三维与CIM,谁才是时空数据第一底板 三维视频融合 三维投影融合 时空克隆 点卯-魔镜系列
- Java Web --HTML(尚硅谷2022版Javaweb)
- python clicknium 库自动化千牛桌面端
- java 调excel 的宏_Microsoft Excel宏来运行Java程序
- c语言函数大全 pdf,C语言标准库函数大全.pdf
- spring配置中加载properties文件方法
- 为什么网络进不去别的计算机,win7在网上邻居上看不到别的电脑如何解决
热门文章
- undefined reference to 解决
- undefined和“undefined”
- 51单片机和3个74HC245和6个独立按键控制24个3组LED移动亮灭
- java libgdx,java - 运行新的LibGDX项目时“找不到文件”
- 项目管理工具project软件学习(三) - 自定义日历【6天工作日】/【大小周】
- 约瑟夫问题-N个人围成一圈循环杀掉第M个人
- 手机网银Linux aarch64,android – arm64和aarch64之间的差异
- SUSCTF2022misc——Tanner
- 新建项目时的Group和Artifact是什么
- halcon10求周长