美文网首页
章节笔记——集合类

章节笔记——集合类

作者: 就这样吧嘞 | 来源:发表于2019-01-24 01:54 被阅读0次

    存放其他类对象的容器
    完成数据库和数据结构的功能

    集合类的分类

    1. List结构集合类 (线性的结构)
      ArrayList LinkedList Vector Stack
    2. Map
      HashMap结构集合类

    以ArrayList为例

    import java.util.ArrayList;
    import java.util.Scanner;
    
    public class Main {
        public static void main(String[] args) throws Exception {
            ArrayList aa=new ArrayList();//集合类
            System.out.println("大小为"+aa.size());//size() 这个类下有多少个对象
            Xs wukong = new Xs ("wukong",1,99);
            aa.add(wukong);//add()  将wukong添加到类ArrayList aa 中
            System.out.println("大小为"+aa.size());//size() 这个类下有多少个对象
        }
    }
    
    class Xs {
        private String xingming;
        private int chengji;
        private int xuehao;
    
        Xs(String xingming,int xuehao ,int chengji ){//构造方法进行初始化
            this.xingming=xingming;
            this.xuehao=xuehao;
            this.chengji=chengji;
        }
        public String getXingmin() {
            return xingming;
        }
        public int getXuehao() {
            return chengji; 
        }
        public int getChengji() {
            return chengji;
        }
    }
    

    结果为:
    大小为0
    大小为1

    集合类遍历:

    import java.util.ArrayList;
    import java.util.Scanner;
    
    public class Main {
        public static void main(String[] args) throws Exception {
            ArrayList aa=new ArrayList();//集合类
            System.out.println("大小为"+aa.size());//size() 这个类下有多少个对象
            Xs wukong1 = new Xs ("wukong1",1,99);
            Xs wukong2 = new Xs ("wukong2",2,93);
            aa.add(wukong1);//add()  将wukong添加到类ArrayList aa 中
            aa.add(wukong2);//add()  将wukong添加到类ArrayList aa 中
            System.out.println("大小为"+aa.size());//size() 这个类下有多少个对象
            //遍历
            for(int i=0;i<aa.size();i++) {
                Xs xx=(Xs)aa.get(i);
                System.out.println((i+1)+"姓名是"+xx.getXingmin());
            }
        }
    }
    
    class Xs {
        private String xingming;
        private int chengji;
        private int xuehao;
    
        Xs(String xingming,int xuehao ,int chengji ){//构造方法进行初始化
            this.xingming=xingming;
            this.xuehao=xuehao;
            this.chengji=chengji;
        }
        public String getXingmin() {
            return xingming;
        }
        public int getXuehao() {
            return chengji; 
        }
        public int getChengji() {
            return chengji;
        }
    }
    

    输出结果

    大小为0
    大小为2
    1姓名是wukong1
    2姓名是wukong2
    

    集合类的删除

    remove();方法
    代码如下

    import java.util.ArrayList;
    import java.util.Scanner;
    
    public class Main {
        public static void main(String[] args) throws Exception {
            ArrayList aa=new ArrayList();//集合类
            System.out.println("大小为"+aa.size());//size() 这个类下有多少个对象
            Xs wukong1 = new Xs ("wukong1",1,99);
            Xs wukong2 = new Xs ("wukong2",2,93);
            aa.add(wukong1);//add()  将wukong添加到类ArrayList aa 中
            aa.add(wukong2);//add()  将wukong添加到类ArrayList aa 中
            System.out.println("大小为"+aa.size());//size() 这个类下有多少个对象
            //遍历
            for(int i=0;i<aa.size();i++) {
                Xs xx=(Xs)aa.get(i);
                System.out.println((i+1)+"姓名是"+xx.getXingmin());
            }
            
            aa.remove(0);//集合类对象的删除,wukong1被删除
            for(int i=0;i<aa.size();i++) {
                Xs xx=(Xs)aa.get(i);
                System.out.println((i+1)+"姓名是"+xx.getXingmin());
            }
        }
    }
    
    class Xs {
        private String xingming;
        private int chengji;
        private int xuehao;
    
        Xs(String xingming,int xuehao ,int chengji ){//构造方法进行初始化
            this.xingming=xingming;
            this.xuehao=xuehao;
            this.chengji=chengji;
        }
        public String getXingmin() {
            return xingming;
        }
        public int getXuehao() {
            return chengji; 
        }
        public int getChengji() {
            return chengji;
        }
    }
    

    结果

    大小为0
    大小为2
    1姓名是wukong1
    2姓名是wukong2
    1姓名是wukong2
    

    选择位置添加

    集合类.add(位置, 对象);

    import java.util.ArrayList;
    import java.util.Scanner;
    
    public class Main {
        public static void main(String[] args) throws Exception {
            ArrayList aa=new ArrayList();//集合类
            System.out.println("大小为"+aa.size());//size() 这个类下有多少个对象
            Xs wukong1 = new Xs ("wukong1",1,99);
            Xs wukong2 = new Xs ("wukong2",2,93);
            Xs wukong3 = new Xs ("wukong3",2,93);
            aa.add(wukong1);//add()  将wukong添加到类ArrayList aa 中
            aa.add(wukong2);//add()  将wukong添加到类ArrayList aa 中
            System.out.println("大小为"+aa.size());//size() 这个类下有多少个对象
            //遍历
            for(int i=0;i<aa.size();i++) {
                Xs xx=(Xs)aa.get(i);
                System.out.println((i+1)+"姓名是"+xx.getXingmin());
            }
            aa.add(1, wukong3);//将wukong3插到坐标为1的位置
            for(int i=0;i<aa.size();i++) {
                Xs xx=(Xs)aa.get(i);
                System.out.println((i+1)+"姓名是"+xx.getXingmin());
            }
        }
    }
    
    class Xs {
        private String xingming;
        private int chengji;
        private int xuehao;
    
        Xs(String xingming,int xuehao ,int chengji ){//构造方法进行初始化
            this.xingming=xingming;
            this.xuehao=xuehao;
            this.chengji=chengji;
        }
        public String getXingmin() {
            return xingming;
        }
        public int getXuehao() {
            return chengji; 
        }
        public int getChengji() {
            return chengji;
        }
    }
    

    结果

    大小为0
    大小为2
    1姓名是wukong1
    2姓名是wukong2
    1姓名是wukong1
    2姓名是wukong3
    3姓名是wukong2
    

    LinkedLis集合类

    .addFirst();
    按照顺序进栈
    后进先出,先进后出
    .getFirst()取第一个
    .getLast()取最底下一个

    .addLast();先进先出

    Vector

    Stack

    Hashmap 集合类

    List对重复无法处理
    Map可以覆盖
    添加使用的是put()不是add方法
    put(“键值”,对象)
    键值有唯一性,一一对应
    如果重复会覆盖
    取出Map类不需要遍历
    .containsKey("键值")方法等同于遍历出键值为"键值"的对象
    键值是字符串类型

    HashMap的遍历

    Iterator it == 对象 . keySet().iterator(); //激活所有键值
    while(it.hasNext()){//用while循环取出
      String key = it.next().toString();
      集合类 sp =(集合类)对象.get(key);
    }
    

    集合类的区别

    List与Map的区别

    键值:唯一标识某一事物成为键值
    不是本身的属性,为了区分而单独建立的属性
    List没有键值

    ArrayList与Vector的区别与HashMap与Hashtable的区别相同

    • ArrayList与HashMap都是线程异步,特点是效率高缺点安全性低
    • Vector与Hashtable线程是同步的,特点是效率低,但安全性高

    相关文章

      网友评论

          本文标题:章节笔记——集合类

          本文链接:https://www.haomeiwen.com/subject/lzpejqtx.html