一.Map集合
在二维集合中,使用最多的是java.util.HashMapHashMap类提供了二维集合的功能构造函数public HashMap()HashMap类中,可以为每个对象指定一个key值。如果为两个不同的对象指定同一个key值,后面的将会把前面的覆盖。对象在HashMap中没有顺序。HashMap中一些主要的方法:1.清空HashMappublic 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.添加一个对象,并且指定keypublic 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)); } }}