一、Vector
     1 、java中提供的最早的集合,一个动态数组,与ArrayList相似,但是两者不同:
          (1)Vector是同步访问的
          (2)Vector包含了很多传统的方法,这些方法不属于集合框架
          (3)Vextor主要用于实现不知道数组的大小,或者重视需要一个可以改变大小的数组的情况
      
     2 、枚举   Enumeration    迭代器的前身    与Iterator功能类似

二、Set 接口   (是Collection的子接口  Collection是容器的意思)
     1、Set接口不能存储重复的元素,不按照元素存储顺序排列,Set接口有三个实现类,分别是                HashSet、LinkedHashSet、TreeSet,主要是HashSet
     2、
        创建对象:Set<String> s=new HashSet<String>();
        主要方法:
              s.add();添加元素
        用增强for循环和迭代器对集合元素输出:
                 public static void main(String[] args){
                       Set<String> s=new HashSet<String>();//创建对象
                        s.add("aa");
                        s.add("bb");
                        s.add("cc");
                        //当出现重复的元素时,后边的覆盖前边的
                        s.add("aa");
                        //增强for循环          for(集合元素类型 给元素起的名:集合名称){}
                       for(String s1:s){
                         System.out.println(s1);   
                         }
                       //迭代器        对象s调用Iterator()方法创建了一个迭代器
                       Iterator(String) it=s.iterator();//迭代器(要迭代集合的数据类型)  迭代器对象=集合对象.iterator();
                       while(it.hasNext()){             //it.hasNext()判断集合中是否还有下一个元素
                           System.out.println(it.next());     //next()将元素提取出来
                           }
                   }
三、Map接口  (不是Collection子类)
       1、定义:Collection的子类存储对象都是向集合中一个一个放,像Set<String> s=new HashSet<String>();
                而Map接口是成对存储,包括key值和Value值,key和Value一一对应,可以通过键值获取值HashMap<String(key值),String(Value值)> map=new HashMap<String,String>();
       
       2、Map集合中不能包含重复键,但可以包含重复的值
      
       3、子类有HashMap和LinkedHashMap等
 
       4、主要方法:put(添加)   get(提取)  remove(key)(移除)
         public class MapDemo1 {
                       //map中put是添加值
         public static void main(String[] args){
              Map<Integer,String> map=new HashMap<Integer, String>();
              map.put(1,"aa");
              map.put(2,"bb");
              map.put(3,"cc");
                      //键值不能重复,如果重复就覆盖之前的值
              map.put(3,"nn");
              map.put(100,"100");
              System.out.println(map.get(3));
              System.out.println(map);
              System.out.println(map.get(66));
              System.out.println(map.remove(1));
              System.out.println(map);

}
          }
         5、LinkedHashMap的打印出来的元素顺序和键入的顺序无关

public class LinkedHashMapDemo {
            public static void main(String[] args){
                       //LinkedHadhMap的打印顺序是根据数据输入的先后顺序
                 LinkedHashMap<String,String> m=new LinkedHashMap<String,String>();
                 m.put("1","a");
                 m.put("2","b");
                 m.put("3","c");
                 m.put("5","d");
                 m.put("4","e");
                 System.out.println(m);
              }
           }

6、Map集合的遍历方式   keySet()和entrySet()
             
            Map集合没有迭代器的接口,没有办法进行遍历,所以先映射进Set集合再进行迭代
            
            keySet()是只把键映射到Set集合,entrySet()是把键和值都映射到Set集合

keySet()方法:
                     public class MapDemo2 {
                     public static void main(String[] args){
                         Map<String,String> map=new HashMap<String, String>();
                         map.put("北凉","徐凤年");
                         map.put("北凉1","温华");
                         map.put("北凉2","老黄");
                         Set<String> set=map.keySet();
                         System.out.println(set);
                         Iterator<String> it=set.iterator();
                         while (it.hasNext()){
                         String value=it.next();
                         System.out.println(map.get(value));
                     }
                         System.out.println("=========================");
                         for (String se:set) {
                         System.out.println(map.get(se));
                       }
                    }
                  }

Map嵌套中使用entrySet()方法(也可使用keySet()方法):
                     public class MaoMapDemo {
                     public static void main(String[] args){
                           //定义Java班集合
                           HashMap<String,String> javas=new HashMap<String, String>();
                           //定义Hdoop班集合
                           HashMap<String,String> Hdoop=new HashMap<String,String>();
                           //向班级里添加学生
                           javas.put("1","徐凤年");
                           javas.put("2","小泥人");

Hdoop.put("1","徐龙象");
                           Hdoop.put("2","徐北枳");

//System.out.println(javas);
                          //System.out.println(Hdoop);

HashMap<String,HashMap<String,String>> aaa=new                           HashMap<String,HashMap<String,String>>();
                          aaa.put("java班",javas);
                          aaa.put("Hdoop班",Hdoop);
                         //System.out.println(aaa);
                         //entrySet1(aaa);
                         foreachdemo(aaa);
                        }
//迭代器
             //    public static void entrySet1(HashMap<String,HashMap<String,String>> aaa){
//                                       //entrySet()将HashMap中值映射到set集合中,键值和值全都映射过去
//                        Set<Entry<String,HashMap<String,String>>> classNameSet=aaa.entrySet();
//                             System.out.println(classNameSet);
//                //迭代选择
//                        Iterator<Entry<String,HashMap<String,String>>> it=classNameSet.iterator();
//                        while (it.hasNext()){
//                           //System.out.println(it.next());
//                     //next的类型为Entry<String,HashMap<String,String>>,next的值Hdoop班={1=徐龙象, 2=徐北枳}和java班={1=徐凤年, 2=小泥人}
//                        Entry<String,HashMap<String,String>> next=it.next();
//                             System.out.println(next);
//                    //得到Hdoop这样的key值(班名)
//                        String classNameKey=next.getKey();
//                             System.out.println(classNameKey);
//                    //得到每个班的人名集合
//                        HashMap<String,String>  classMap=next.getValue();
//                             System.out.println(classMap);
//                    //人名集合是Map类型,再次映射到set集合
//                        Set<Entry<String,String>> StudentSet=classMap.entrySet();
//                    //System.out.println(StudentSet+"==============");
//                    //对人名集合进行迭代
//                        Iterator<Entry<String,String>> classit=StudentSet.iterator();
//                        while(classit.hasNext()){
//                             Entry<String,String> studentEntry=classit.next();
//                             String numKey=studentEntry.getKey();
//                             String numName=studentEntry.getValue();
//                             System.out.println(numKey+"     "+numName);
//                       }
//                     }
//
//                   }

//增强for循环
                public static void foreachdemo(HashMap<String,HashMap<String,String>> aaa){
                        Set<Entry<String,HashMap<String,String>>> classIt=aaa.entrySet();
                              System.out.println(classIt);
                        for (Entry<String,HashMap<String,String>> className:classIt) {
                              System.out.println(className);
                        Entry<String,HashMap<String,String>> classNameAGe=className;
                              System.out.println(classNameAGe);
                        String classKey=classNameAGe.getKey();
                        HashMap<String,String> classValue=classNameAGe.getValue();
                              System.out.println(classValue);
                        Set<Entry<String,String>> StudentSet=classValue.entrySet();
                        for (Entry<String,String> sksdfk: StudentSet) {
                              System.out.println(sksdfk);
                        //Entry<String,String> gggg=sksdfk;
                            String studentKey=sksdfk.getKey();
                            String studentName=sksdfk.getValue();
                            System.out.println(studentKey+ "     " +studentName);
                          }
                      }
                     }
                  }

四 、集合的操作工具      shuffle   生成随机的序列
                  public static void main(String[] args){
                               fun1();
                     }
                  public static void fun1(){
                        List<Integer> list=new ArrayList<Integer>();
                        list.add(1000000);
                        list.add(1);
                        list.add(2);
                        list.add(24);
                        list.add(198);
                        list.add(138478);
                        list.add(1342);
                          System.out.println(list);
                        //工具类方法shuffle() 对集合进行随机排列
                       Collections.shuffle(list);
                       System.out.println(list);
                      }
                  }

转载于:https://www.cnblogs.com/fbbg/p/10623512.html

map集合和set集合相关推荐

  1. Map集合和List集合总结

    Map集合和List集合哪个效率更高 List接口 List集合是一个元素有序(存储有序).可重复的集合,集合中的每个元素都有对应的索引,以便于查询和修改,List集合是允许存储null值的. Lis ...

  2. Day_8/08(List集合和Set集合)

    目录 一.List集合 1.ArrayList集合 2.LinkedList集合 1.增加元素 2.查询元素 3.修改元素 4.删除元素 二.Set集合 1.HashSet集合 2.LinkedHas ...

  3. scala集合和java集合的转换-List

    scala集合和java集合的转换-List scala的List要想转换成java的list 需要导入对应的类scala.collection.JavaConverters._ import jav ...

  4. 黑马程序员--Java学习日记之集合(map集合和collections类)

    -- Java培训.Android培训.iOS培训..Net培训.期待与您交流! ---  一.概述 将键映射到值的对象.一个映射不能包含重复的键:每个键最多只能映射到一个值. 在使用Collec ...

  5. HashMap集合和TreeMap集合

    ---------------------------HashMap集合的遍历 /第一种 package ji_he;import java.util.*;public class Example16 ...

  6. Set集合和List集合

    List:有序可重复          ArrayList: 写入数据时,数据在尾部的时候快,取数快 LinkedList:  集合中间部分添加值和删除值得时候快 Set:不包含重复元素,但是无序, ...

  7. 7.Set集合总结(TreeSet集合和HashSet集合)

    一.Set集合 1.Set集合特点 可以去除重复 存取顺序不一致 没有带索引的方法,所以不能使用普通的for循环遍历,也不能通过索引来获取.删除Set集合里面的元素. 2.Set集合中元素的遍历 二. ...

  8. HashSet集合和TreeSet集合

    -----------------------------------HashSet集合 ///HashSet集合的遍历 package ji_he;import java.util.HashSet; ...

  9. Scala的List集合和Set集合

    Nil是一个空的不可变的集合 List集合:有序的,可重复的 Set集合是不可重复的,无序的 val set=Set(1,2,2,1,4,3)//输出Set(1, 2, 4, 3),因为Set集合是不 ...

  10. List集合和set集合

    List集合中的元素允许重复,各元素的顺序就是对象插入的顺序,类似于java数组,用户可通过使用索引(元素在集合中的位置)来访问集合中的元素. List接口继承了Collection借口,因此包含了C ...

最新文章

  1. 计算机科学在生物信息中的应用,生物信息学在基因组学中的应用
  2. FileZilla 服务器端win server2008以上的配置
  3. java 循环笔记_Java笔记之嵌套循环1
  4. Spring MVC学习总结(5)——SpringMVC项目关于安全的一些配置与实现方式
  5. 博文视点读书节第五日丨IT大咖私房书单继续放送,超级会员返场来袭!
  6. mysql:赋予用户权限、查看及修改端口号
  7. POI--各种样式的XSSFCellStyle的生成
  8. Motorola(摩托罗拉)比较不错的机子,直接秒杀诺基亚N8,不看看你会后悔的哦。。。...
  9. Native method not found: com.autonavi.amap.mapcore.MapProjection.nativeLonLat2Geo:(DDLcom/autonavi/a
  10. pageHelper.startPage(m,n)的用法
  11. 疾病抗争从未停止,糖尿病数据可视化分析
  12. JavaScript程序库jQuery学习笔记分享(二)jQuery对象和DOM操作,和其他js库冲突处理
  13. 网络测速一原理及实例
  14. Vue 实现下拉加载更多
  15. Ubuntu 16.04 LTS设置屏幕分辨率并永久保存所设置的分辨率
  16. 【20保研】中南大学计算机学院2019年全国优秀大学生暑期夏令营通知
  17. 图像分割:LR-ASPP模型介绍
  18. 华为服务器设备型号查询,查询服务器型号和操作系统
  19. python文件拓展名是_python文件扩展名是什么
  20. 原来微信就能生成证件照,再也不傻傻地往照相馆跑了,办法很简单

热门文章

  1. 职业发展的明线与暗线
  2. 如果有人问你爬虫抓取技术的门道,请叫他来看这篇文章
  3. java中的match函数_javascript中match函数的用法小结
  4. Cloudcompare2.12.2使用vs2022带插件编译以及在WSL中编译cloudCompare【最新实践】
  5. 三大变换与自控(五)三角函数的正交性证明
  6. 计算机语言的正交性,什么是“正交性”?
  7. 科目三: 济南章丘五号线
  8. JAVA 循环结构while简单方法使用
  9. 一筐鸡蛋c语言编程,求答案-求答案?一筐鸡蛋?求答案?一筐鸡蛋:1个1个拿,正好拿完2个2 爱问知识人...
  10. Unity-创建一个小地图