zoukankan      html  css  js  c++  java
  • 泛型集合

    public class ListTest {
    
        public static void main(String[] args) {
            //创建几个新闻对象
            News news1=new  News(1, "新闻1");
            News news2=new  News(2, "新闻2");
            News news3=new  News(3, "新闻3");
             //创建一个List集合
            List list=new ArrayList(); //现在 集合中存放的Object
             list.add(1);
             list.add("abc");
             list.add(news1);
            //遍历集合
             for (Object object : list) {
                System.out.println(object);
            }         
             
             System.out.println("**************************");
            /*
             * 现在 我只想存放 News 新闻 
             * 泛型集合
             * 在创建集合的时候,就已经规定了集合中允许存放的类型!
             * 如果后续进行新增操作时候,插入了类型不一致的数据,会编译报错!
             */
            List<News>  news=new ArrayList<News>();  //new ArrayList();
             //news.add(1);  编译报错
            //news.add(null);  可以存放 Null         
            news.add(news1);         
            news.add(news2);         
            news.add(news3);
            System.out.println("集合的大小:"+news.size());  //4
            //遍历
            for (News n : news) {
                System.out.println(n.getTitle());  //不需要强制类型转化 直接输出
            }
            System.out.println("***********************");     
            
            //List <int> i=new ArrayList();  不能使用基本数据类型
            List<Integer> i=new  ArrayList();  //对应类型的封装类
            List<String> s=new  ArrayList();  //只能存放String类型        
        }
    }

    Map的泛型集合

    创建Student实体类

    public class Student {
        private  Integer  studentNo;  //学生的编号是唯一的
        private  String  name;
        private  Integer  age;
        private  String  sex;
        
        @Override
        public String toString() {
            return "Student [studentNo=" + studentNo + ", name=" + name + ", age="
                    + age + ", sex=" + sex + "]";
        }
        public Student() {
            super();
        }
        public Student(Integer studentNo, String name, Integer age, String sex) {
            super();
            this.studentNo = studentNo;
            this.name = name;
            this.age = age;
            this.sex = sex;
        }
        
        public Integer getStudentNo() {
            return studentNo;
        }
        public void setStudentNo(Integer studentNo) {
            this.studentNo = studentNo;
        }
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        public String getSex() {
            return sex;
        }
        public void setSex(String sex) {
            this.sex = sex;
        }
        
        public Integer getAge() {
            return age;
        }
        public void setAge(Integer age) {
            this.age = age;
        }
    }

    创建测试类

    public class MapTest {
        public static void main(String[] args) {
            /*
             * 创建一个Map的泛型集合
             * 之前
             * Map  map=new HashMap();
             * key和value全都是 Object类型
             */
            Map  m=new HashMap();
            m.put(1, 2);
            m.put("1","2");
            m.put(1.0, 2.0);
            System.out.println("map集合的大小:"+m.size());  //3
            System.out.println("************************************");
                    
            //创建几个新闻对象
            Student stu1=new Student(1, "新闻1", 1000, "女");
            Student stu2=new Student(2, "新闻2", 10000, "女");
            Student stu3=new Student(3, "新闻3", 1000, "女");
            //泛型集合   key只能是Integer
            Map<Integer,Student> map=new HashMap<Integer, Student>();
            //map.put(1, 1); 默认装箱操作  int基本数据类型转换成Interge封装类
            map.put(stu1.getStudentNo(), stu1);
            map.put(stu2.getStudentNo(), stu2);
            map.put(stu3.getStudentNo(), stu3);
            //遍历之前获取keySet
            Set<Integer> keySet = map.keySet();
            //01. for加强
            for (Integer key : keySet) {
                //根据key取得对应的Student对象
                System.out.println(map.get(key));
            }
            System.out.println("***************************");
            //02. iterator
            Iterator<Integer> it = keySet.iterator();
            while (it.hasNext()) {
                /*Integer key=it.next();
                map.get(key);*/
                System.out.println(map.get(it.next()));
            }
            System.out.println("***************************");
            /*
             * 03. entrySet() 同时可以获取 key和value 
             *    之前都是先获取key 之后拿key取得value
             */
            Iterator iterator = map.entrySet().iterator();
            while (iterator.hasNext()) {
                Entry entry = (Entry) iterator.next();
                System.out.println("map的key===>"+entry.getKey());
                System.out.println("map的value===>"+entry.getValue());
            }
        }
    }

     Map集合遍历

    public class MapTest {
        public static void main(String[] args) {
    
            Map<String, String> map = new HashMap<String, String>();
            map.put("1", "value1");
            map.put("2", "value2");
            map.put("3", "value3");
    
            // 第一种:普遍使用,二次取值
            System.out.println("通过Map.keySet遍历key和value:");
            for (String key : map.keySet()) {
                System.out.println("key= " + key + " and value= " + map.get(key));
            }
    
            // 第二种
            System.out.println("通过Map.entrySet使用iterator遍历key和value:");
            Iterator<Map.Entry<String, String>> it = map.entrySet().iterator();
            while (it.hasNext()) {
                Map.Entry<String, String> entry = it.next();
                System.out.println("key= " + entry.getKey() + " and value= "
                        + entry.getValue());
            }
    
            // 第三种:推荐,尤其是容量大时
            System.out.println("通过Map.entrySet遍历key和value");
            for (Map.Entry<String, String> entry : map.entrySet()) {
                System.out.println("key= " + entry.getKey() + " and value= "
                        + entry.getValue());
            }
    
            // 第四种
            System.out.println("通过Map.values()遍历所有的value,但不能遍历key");
            for (String v : map.values()) {
                System.out.println("value= " + v);
            }
        }
    }
  • 相关阅读:
    WF4.0 自定义CodeActivity与Bookmark<第三篇>
    WF4 常用类<第二篇>
    WF4.0 Activities<第一篇>
    WWF3常用类 <第十一篇>
    WWF3XOML方式创建和启动工作流 <第十篇>
    element-ui表格显示html格式
    tail -f 加过滤功能
    vue 遇到防盗链 img显示不出来
    python No module named 'urlparse'
    grep awk 查看nginx日志中所有访问的ip并 去重
  • 原文地址:https://www.cnblogs.com/areyouready/p/6835018.html
Copyright © 2011-2022 走看看