HashMap集合的使用

  1.1、每个集合对象的创建(new)
  1.2、从集合中添加元素
  1.3、从集合中取出某个元素
  1.4、遍历集合

public class HashMapTest {
public static void main(String[] args) {
// 创建Map集合
Map<Integer, String> map = new HashMap<>();

// 添加元素
map.put(1, "小明");
map.put(8, "小周");
map.put(15, "小张");
map.put(31, "小剑");
map.put(31, "king");

// 获取元素个数
System.out.println(map.size());

// 获取key是8的元素
System.out.println(map.get(8));

// 重点,遍历Map集合
// 第一种方式,获取所有的key,遍历key的时候,通过key来获取value。
Set<Integer> keys = map.keySet();
for (Integer key : keys) {
System.out.println(key + "=" + map.get(key));
}

// 第二种方法:是将Map集合转换成Set集合Set集合中的每一个元素是node。
// 这个node节点有key和value
Set<Map.Entry<Integer, String>> nodes = map.entrySet();
for (Map.Entry node : nodes) {
System.out.println(node);
}
}
}

HashSet集合的使用

  1.1、每个集合对象的创建(new)
  1.2、从集合中添加元素
  1.3、从集合中取出某个元素
  1.4、遍历集合
  1.5、测试HashSet集合的特点
public class HashSetTest {
public static void main(String[] args) {

// 创建Set集合
Set<String> set = new HashSet<>();

// 添加元素
set.add("abc");
set.add("def");
set.add("ghi");
set.add("jkl");
System.out.println(set.size());

// 遍历集合
// 迭代器
Iterator<String> it = set.iterator();
while (it.hasNext()) {
System.out.println(it.next());
}

System.out.println("----------------");

// 增强for循环
for (String s : set) {
System.out.println(s);
}

// 无序不可重复
set.add("abc");
set.add("abc");
set.add("abc");
System.out.println(set.size());

set.add("1");
set.add("king");
set.add("2");

for (String s : set) {
System.out.println("---->" + s);
}

System.out.println("----------------");

// 测试Student
Set<Student> students = new HashSet<>();
students.add(new Student(01,"小明"));
students.add(new Student(02,"小花"));
students.add(new Student(01,"小明"));
System.out.println(students.size());

// 遍历
for (Student s : students) {
System.out.println(s);
}
}
}

class Student {
int id;
String name;

public Student() {
}

public Student(int id, String name) {
this.id = id;
this.name = name;
}

@Override
public String toString() {
return "Student{" +
"name='" + name + '\'' +
'}';
}

@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Student student = (Student) o;
return Objects.equals(name, student.name);
}

@Override
public int hashCode() {
return Objects.hash(name);
}
}
 


Hash Map集合和Hash Set集合的更多相关文章

  1. Map集合和Map常用子类

    Map集合 java.util.Map<K,V>集合 Map集合的特点: 1.Map集合是一个双列集合,一个元素包含两个值(Key,Value) 2.Map集合中的元素,key和value ...

  2. Python基础(list和tuple)可变集合和‘不可变’集合

    list Python内置的一种数据类型是列表:list.list是一种有序的集合,可以随时添加和删除其中的元素. 比如,列出班里所有同学的名字,就可以用一个list表示: >>> ...

  3. 【读书笔记】【深入理解ES6】#7-Set集合和Map集合

    ES6新标准中将Set集合和Map集合添加到JS中. ES5中Set集合和Map集合 在ES5中,开发者们用对象属性来模拟这两种集合. var set = Object.create(null); s ...

  4. Implement Hash Map Using Primitive Types

    A small coding test that I encountered today. Question Using only primitive types, implement a fixed ...

  5. Java集合的实现细节—Set集合和Map集合

    Set:代表无序.不可重复的集合 Map:代表key-value对集合,也称为关联数组 从表面上看,Set和Map相似性很少,但实际上可以说Map集合时Set集合的扩展. 1.Set集合和Map集合的 ...

  6. java基础33 Set集合下的HashSet集合和TreeSet集合

    单例集合体系: ---------| collection  单例集合的根接口--------------| List  如果实现了list接口的集合类,具备的特点:有序,可重复       注:集合 ...

  7. Scala集合和Java集合对应转换关系

    作者:Syn良子 出处:http://www.cnblogs.com/cssdongl 转载请注明出处 用Scala编码的时候,经常会遇到scala集合和Java集合互相转换的case,特意mark一 ...

  8. Hash Map 在java中的解释及示例

    目录 HashMap在java中的应用及示例 HashMap的内部结构 HashMap的性能 同步HashMap HashMap的构造函数 HashMap的时间复杂度 HashMap的方法 1. vo ...

  9. Hash Map (Hash Table)

    Reference: Wiki  PrincetonAlgorithm What is Hash Table Hash table (hash map) is a data structure use ...

随机推荐

  1. 查看权限详情 将部门大类单据整合,将子类单据id去重合并

    /** * 查看权限详情 * @param id 部门id * @return */ @GetMapping("getListInfo") public R getDetail(S ...

  2. 【代码周边】-GitHub笔记

    ------------恢复内容开始------------ 程序员的宝库github是个好东西,其中开源的项目足够我们的使用,但是如何去精准的获取我们的项目是很多初学者的问题.特别是英语不好的我,一 ...

  3. JavaSwing 船只停靠管理可视化(四)

    JavaSwing 船只停靠管理可视化(一) JavaSwing 船只停靠管理可视化(二) JavaSwing 船只停靠管理可视化(三) JavaSwing 船只停靠管理可视化(四) JavaSwin ...

  4. ATM管理系统

    一.题目要求 编写一个ATM管理系统,语言不限,要求应包括以下主要功能: (1)开户,销户 (2)查询账户余额 (3)存款 (4)取款 (5)转账(一个账户转到另一个账户)等 二.代码提交 开户 pu ...

  5. 使用sqoop将mysql数据导入到hive中

    首先准备工具环境:hadoop2.7+mysql5.7+sqoop1.4+hive3.1 准备一张数据库表: 接下来就可以操作了... 一.将MySQL数据导入到hdfs 首先我测试将zhaopin表 ...

  6. docker基础属性简介包含镜像 容器 registry服务等概念及关系

    Docker 镜像 我们都知道,操作系统分为内核和用户空间.对于 Linux 而言,内核启动后,会挂载 root 文件系统为其提供用户空间支持.而 Docker 镜像(Image),就相当于是一个 r ...

  7. 安装cmake过程g++: 错误:unrecognized command line option ‘-std=gnu++14’

    问题根因 这个错误一般是gcc/g++版本太低导致的 疑问 我本地明明安装的是高版本的gcc/g++为何说是低版本的呢,有图为证: 这主要是因为你安装了多个版本的gcc/g++,但是默认(/usr/b ...

  8. Spring boot JPA读取数据库方法

    方法1: 1 StringBuffer sb = new StringBuffer(300); 2 sb.append("SELECT v.id, v.container_number, v ...

  9. java数组基础知识

    数组的定义:int[] array=new array[n];int array[]={, , , ,};定义了数组,JVM就会给其一个空间,数组是应用类型的数据类型,其存储方式是随机存储. 数组的遍 ...

  10. SQL Server批量向表中插入多行数据语句

    因自己学习测试需要,需要两个有大量不重复行的表,表中行数越多越好.手动编写SQL语句,通过循环,批量向表中插入数据,考虑到避免一致问题,设置奇偶行不同.个人水平有限,如有错误,还望指正. 语句如下: ...