java集合学习笔记--二维集合HashMap

一.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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值