博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java集合学习笔记--二维集合HashMap
阅读量:6821 次
发布时间:2019-06-26

本文共 2722 字,大约阅读时间需要 9 分钟。

hot3.png

一.Map集合

在二维集合中,使用最多的是java.util.HashMap
HashMap类提供了二维集合的功能
构造函数
public HashMap()
HashMap类中,可以为每个对象指定一个key值。如果为两个不同的对象指定同一个key值,后面的将会把前面的覆盖。
对象在HashMap中没有顺序。
HashMap中一些主要的方法:
1.清空HashMap
public void clear()
2.判断是否包含某个对象
public boolean containsValue(Object value)
3.判断是否包含某个key值
public boolean containsKey(Object key)
4.根据Key值得到某个对象
public Object get(Object key)
5.判断Hashtable是否为空
public boolean isEmpty()
6.添加一个对象,并且指定key
public Object put(Object key,Object value)
7.根据key值移除一个对象
public Object remove(Object key)
8.得到HashMap大小
public int size()
9.得到所有key值的集合
public Set keySet()

//测试代码
import java.util.HashMap;
import java.util.Set;

public class MapTest

{
 public static void main(String args[])
 {
  HashMap<String,String> hm = new HashMap<String,String>();
  hm.put("姓名","张三");
  hm.put("性别","男");
  hm.put("工作","程序员");
  hm.put("工作0","程序员");
  hm.put("工作1","程序员");
  hm.put("工作2","程序员");
  
  //通过key获得一个元素的值
  System.out.println("姓名是:"+hm.get("姓名"));
  
  //通过key修改一个元素的值
  hm.put("姓名","李四");
  System.out.println("修改后姓名是:"+hm.get("姓名"));
  
  //通过key值删除某个值
  hm.remove("姓名");
  System.out.println("删除后姓名是:"+hm.get("姓名"));
  
  //得到所有的key和valude
  Set keyset = hm.keySet();
  for(Object o:keyset)
  {
   System.out.println(" ---"+o+"----对应的值是:-----"+hm.get(o));   
  }
 }
}

//如何保证遍历的时候是按照添加进去的顺序?

只要将HashMap换成LinkedHashMap即可
测试代码:
import java.util.LinkedHashMap;
import java.util.Set;

public class MapTest

{
 public static void main(String args[])
 {
  LinkedHashMap<String,String> hm = new LinkedHashMap<String,String>();
  hm.put("姓名","张三");
  hm.put("性别","男");
  hm.put("工作","程序员");
  hm.put("工作0","程序员");
  hm.put("工作1","程序员");
  hm.put("工作2","程序员");
  
  //通过key获得一个元素的值
  System.out.println("姓名是:"+hm.get("姓名"));
  
  //通过key修改一个元素的值
  hm.put("姓名","李四");
  System.out.println("修改后姓名是:"+hm.get("姓名"));
  
  //通过key值删除某个值
  hm.remove("姓名");
  System.out.println("删除后姓名是:"+hm.get("姓名"));
  
  //得到所有的key和valude
  Set keyset = hm.keySet();
  for(Object o:keyset)
  {
   System.out.println(" ---"+o+"----对应的值是:-----"+hm.get(o));   
  }
 }
}

//能否将HashMap中的元素按key的值排序?

只要将HashMap改为TreeMap即可
测试代码如下:
import java.util.TreeMap;
import java.util.Set;
import java.util.Collections;
public class MapTest
{
 public static void main(String args[])
 {
  TreeMap<String,String> hm = new TreeMap<String,String>(Collections.reverseOrder());//使用降序排列
  hm.put("姓名","张三");
  hm.put("性别","男");
  hm.put("工作","程序员");
  hm.put("工作0","程序员");
  hm.put("工作1","程序员");
  hm.put("工作2","程序员");
  
  //通过key获得一个元素的值
  System.out.println("姓名是:"+hm.get("姓名"));
  
  //通过key修改一个元素的值
  hm.put("姓名","李四");
  System.out.println("修改后姓名是:"+hm.get("姓名"));
  
  //通过key值删除某个值
  hm.remove("姓名");
  System.out.println("删除后姓名是:"+hm.get("姓名"));
  
  //得到所有的key和valude
  Set keyset = hm.keySet();
  for(Object o:keyset)
  {
   System.out.println(" ---"+o+"----对应的值是:-----"+hm.get(o));   
  }
 }
}

转载于:https://my.oschina.net/kingfrog/blog/213013

你可能感兴趣的文章
关于gnome
查看>>
Git忽略规则.gitignore梳理
查看>>
实现可克隆(Cloneable)的类型
查看>>
JVM学习笔记(二)------Java代码编译和执行的整个过程【转】
查看>>
应届大学毕业生面试应答
查看>>
在指定文本里记录内容
查看>>
iOS: iOS9 beta 请求出现App Transport Security has blocked a cleartext HTTP (http://)
查看>>
Html5,css3菜单
查看>>
JSP的两种导入方式
查看>>
c# 钩子屏蔽鼠标右键
查看>>
在创建带输出参数和返回值的存储过程时---犯下的一个低级错误
查看>>
在Oracle中查询存储过程和函数
查看>>
Design Pattern: Not Just Mixin Pattern
查看>>
Ubuntu 虚拟机安装几点细节整理
查看>>
深入浏览器兼容 细数jQuery Hooks 属性篇
查看>>
[LeetCode] Unique Word Abbreviation 独特的单词缩写
查看>>
DNN使用升级包升级
查看>>
Asp.net读取AD域信息的方法<转>
查看>>
IntelliJ IDEA中JAVA连接MYSQL
查看>>
nginx反向代理tomcat访问时浏览器加载失败,出现 ERR_CONTENT_LENGTH_MISMATCH 问题
查看>>