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);
             }
       }
}

 

posted @ 2020-03-23 14:00  KangZP  阅读(212)  评论(0)    收藏  举报