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. 从数据库将数据导出到excel表格

    public class JxlExcel { public static void main(String[] args) { //创建Excel文件 String[] title= {" ...

  2. 解决qt程序运行时的cannot create Qt for Embedded Linux data directory: /tmp/qtembedded-0

    方法1: 1.mkdir /tmp 2.挂载 mount -t tmpfs -o size=32m none /tmp 方法2: 上面的user 0h说明你是以root用户的身份运行.可以尝试切换一下 ...

  3. JavaDailyReports10_16

    今天学习安装配置了JavaWeb的资源环境, 明天开始学习HTML!

  4. Java学习日报7.24

    package tem; public class Tem { public static void main(String[] args) { // TODO 自动生成的方法存根 //每隔10摄氏度 ...

  5. 分布式ID生成策略之ZK

    import org.apache.curator.framework.CuratorFramework; import org.apache.curator.framework.CuratorFra ...

  6. java数组之排序

    /** * String排序算法依据<b>词典编排顺序排序</b><br> * 所以大写字母开头的词都放在前面输出,之后才是小写之母开头的词 *@date:2018 ...

  7. Linux 时间同步 05 chrony时间同步

    Linux 时间同步 05 chrony时间同步 目录 Linux 时间同步 05 chrony时间同步 chrony 的优势: chrony包介绍 安装chrony 配置与外部时间服务器进行时间同步 ...

  8. TurtleBot3使用课程-第一节a(北京智能佳)

    目录 1.ROS设置(远程PC) 2 1.1 ROS安装和设置 2 1.1.1 设置source.list 2 1.1.2 键设置 2 1.1.3 ROS安装 2 1.1.4安装包构建的依赖关系 2 ...

  9. linuix查端口

    根据进程pid查端口:netstat -nap | grep pid 根据端口port查进程:netstat -nap | grep port 根据pid查找文件的启动位置  ps aux | gre ...

  10. 数据仓库组件:HBase集群环境搭建和应用案例

    本文源码:GitHub || GitEE 一.Hbase简介 1.基础描述 Hadoop原生的特点是解决大规模数据的离线批量处理场景,HDFS具备强大存储能力,但是并没有提供很强的数据查询机制.HBa ...