• Java自学笔记(22):【集合】 集合概述,Collection,Map


    集合概述

    单列Collection 和 双列Map

    接口Collection  有两个子接口 :List接口(有序可重复)和Set接口(无序不可重复)

    Map interface Map<K,V>   子类主要有 TreeMap和HashMap


    认识单列集合Collection

    接口中方法:

    //添加方法:
    add(Object o) //添加指定元素
    addAll(Collection c) //添加指定集合
    //删除方法:
    remove(Object o) //删除指定元素
    removeAll(Collection c) //输出两个集合的交集
    retainAll(Collection c) //保留两个集合的交集
    clear() //清空集合
    //查询方法:
    size() //集合中的有效元素个数
    toArray() //将集合中的元素转换成Object类型数组
    //判断方法:
    isEmpty() //判断是否为空
    equals(Object o) //判断是否与指定元素相同
    contains(Object o) //判断是否包含指定元素
    containsAll(Collection c) //判断是否包含指定集合
    import java.util.ArrayList;
    import java.util.HashSet;
    import java.util.List;
    import java.util.Set;
    
    public class AddSelfDemo {
    
        public static void main(String[] args) {
            // Collection中AddAll方法演示
            List<String> list = new ArrayList<String>();//实例化
            //添加元素
            list.add("1");
            list.add("2");
            list.add("3");
            list.add("4");
            list.add("5");
            list.add("6");
            
            list.addAll(list);
            //输出
            System.out.println(list);
            
            
            
            Set<String> set = new HashSet<String>();
            set.add("1");
            set.add("2");
            set.add("3");
            set.add("4");
            set.add("5");
            set.add("6");
            
            set.addAll(set);
            System.out.println(set);
        }
    
    }
    //List可以添加自身,Set不可以添加自身
    //List 可重复,Set不可重复
    import java.util.ArrayList;
    import java.util.List;
    
    public class ToArrayDemo {
    
        public static void main(String[] args) {
            // ToArrayDemo方法演示
            List<String> list = new ArrayList<String>();//实例化
            //添加元素
            list.add("1");
            list.add("2");
            list.add("3");
            list.add("4");
            list.add("5");
            list.add("6");
            
            //无参ToArray
            Object[] str = list.toArray();
            printArr(str);                //1 2 3 4 5 6 
            
            //有参ToArray
            String[] str01 = new String[list.size()-1];
            String[] str02 = list.toArray(str01);
            printArr(str01);  //null null null null null 
            printArr(str02);  //1 2 3 4 5 6 
        }
        public static void printArr(Object[] str) {
            for(int i=0;i<str.length;i++ ) {
                System.out.print(str[i]+" ");
            }
            System.out.println();
        }
    
    }

    双列集合Map

    方法自己找,太难写了

    import java.util.HashMap;
    import java.util.Iterator;
    import java.util.Map;
    import java.util.Map.Entry;
    import java.util.Set;
    
    public class MapMethodDemo {
    
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            Student[] stu = new Student[100000];
            for(int i=0;i<stu.length;i++) {
                stu[i]= new Student("2019"+(i+1),"张"+(i+1),18,"软件工程");
            }
            //加入Map
            Map<String,Student> map = new HashMap<String,Student>();
            for(int i=0;i<stu.length;i++) {
                map.put(stu[i].no,stu[i]);
            }
            
            //遍历
            //映射关系
            Set<Entry<String,Student>> set = map.entrySet();
            //iterator()
            Iterator<Entry<String,Student>> iterator = set.iterator();
            while(iterator.hasNext()) {
                Entry<String,Student> entry = iterator.next();
                System.out.println(entry.getKey());
            }
            
            
            //toArray()
            Object[] obj = set.toArray();
            for(int i=0;i<obj.length;i++) {
                Entry<String,Student> entry = (Entry<String,Student>)obj[i];
                Student stu01 =entry.getValue();
                stu01.print();
            }
            
            //查找前一千是否存在
            //key
            for(int i=0;i<1000;i++) {
                boolean isExist = map.containsKey(stu[i].no);
                System.out.println(isExist);
            }
            //value
            for(int i=0;i<1000;i++) {
                boolean isExist = map.containsValue(stu[i]);
                System.out.println(isExist);
            }
        }
    
    }
  • 相关阅读:
    ultraEdit使用utf8乱码的解决办法
    利用替换字符串的函数StringReplace删除字符串中指定的字符或字符串
    COBID,CanID,NodeID的不同
    随机生成一个10位的数字(来自大富翁)
    Delphi2010下,Unit aliases会影响到Code Insight功能?
    使用鼠标拖曳的方式移动、更改panel控件的大小
    将四个BYTE数值转换成IEEE754标准的浮点数
    判断shift,ctrl,alt键是否按下
    获取邮箱中的用户名
    IFM控制器中关于支线长度的说明
  • 原文地址:https://www.cnblogs.com/tkj521Ya/p/11297380.html
Copyright © 2020-2023  润新知