Java-Set与Map
说到Set就不得不提到Collection;这里说一下Collection和Collections的区别:
*Collection是集合体系的最顶层,包含了集合体系的共性
*Collections是一个工具类,方法都是用于操作Collection
Collection常用子接口:
List:ArrayList、Vector、LinkedList
Set:HashSet、TreeSet
这里只说HashSet。
/*Set的特点:无序(存储和读取的顺序可能不一样) * 成员元素单一 * 没有索引 */ public class HashSetDemo { public static void main(String[]args) { //创建集合对象,类型为String //HashSet<String> hs=new HashSet<String>(); Set<String> set=new HashSet<String>(); set.add("Hello"); set.add("world"); set.add("java"); //遍历集合 Object[] objs=set.toArray(); for (int i=0;i<objs.length;i++) { System.out.println(objs[i]); System.out.println(i); } } }
Map 是一种键-值对(key-value)集合,Map 集合中的每一个元素都包含一个键对象和一个值对象。其中,键对象不允许重复,而值对象可以重复,并且值对象还可以是 Map 类型的,就像数组中的元素还可以是数组一样。
Map 接口主要有两个实现类:HashMap 类和 TreeMap 类。
其中,HashMap 类按哈希算法来存取键对象,而 TreeMap 类可以对键对象进行排序。
同样,这里只学习了HashMap 。
public class HashMapDemo { public static void main(String[]args) { HashMap<String,String> hm=new HashMap<String,String>(); hm.put("15050","张三"); hm.put("15051","李四"); hm.put("15052","王五"); hm.put("15052","刘流"); //遍历方法一 Set<String>keys=hm.keySet(); for (String key:keys) { String value=hm.get(key); System.out.println(key+"="+value); } System.out.println("----------------"); //遍历方法二 Set<Map.Entry<String, String>>entrys=hm.entrySet(); for (Map.Entry<String, String>entry:entrys) { String key =entry.getKey(); String value=entry.getValue(); System.out.println(key+"="+value); } } }

浙公网安备 33010602011771号