集合01

一、定义:可以存放不同类型元素的容器;

  特点:1、用于存储对象;2、长度可变;3、可存放不同类型的元素;

二、数组和集合的区别;

  1、数组和集合类都是容器;

  2、数组长度是固定的,集合长度是可变的;

  3、数组中存储数据类型是单一的,集合中可以存储任意类型的对象;

三、ArrayList总结

  1、ArrayList底层是由数组去实现的,内存连续;

  2、元素可以重复;

  3、添加和删除元素很慢(由于是数组实现, 在增和删的时候会牵扯到数组增容, 以及拷贝元素. 所以慢);

  4、查询很快(数组是可以直接按索引查找, 所以查找时较快);

  5、元素的排放顺序是固定的;

 

代码范例(以一个动物类集合):

public class Animals {
    
    private String name;
    private int size;
    
    public Animals() {
        super();
    }
    public Animals(String name, int size) {
        super();
        this.name = name;
        this.size = size;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public int getSize() {
        return size;
    }
    public void setSize(int size) {
        this.size = size;
    }
    
    @Override
    public String toString() {
        return "Animals [name=" + name + ", size=" + size + "]";
    }
    
}
-------------------------------------------------------------------------------------------------

import java.util.ArrayList;
import java.util.List;

public class ZooArrayList {
        public static List lt=new ArrayList();
        public static Animals an=new Animals("大象",99);
        static{
        lt.add(an);
        lt.add(new Animals("熊猫",66));
        lt.add(new Animals("长颈鹿",77));
        lt.add(new Animals("狮子",88));
        lt.add(110);
        lt.add("动物园长");
            }
        public static void main(String[] args) {
            List zoo=ZooArrayList.lt;
            System.out.println(zoo);
//            System.out.println(lt.size());
//            System.out.println(lt.contains(110));
//            System.out.println(lt.indexOf(an));
//            for (int i = 0; i <lt.size(); i++) {
//                System.out.println(lt.get(i));
//            }
//            for (Object ls : zoo) {
//                System.out.println(ls);
//            }
//            List li=new ArrayList();
//            li.add("大象");li.add("熊猫");
//            li.add("长颈鹿");li.add("狮子");
//            li.add("猴子");li.add("鳄鱼");
//            li.add("犀牛");li.add("大象");
//            li.add("大象");li.add("大象");
//            li.add(66);li.add(147);
//            li.add(226);li.add(88);
//            System.out.println(li);
//            for (int i = 0; i < li.size(); i++) {
//                System.out.println(li.get(i));
//            }
//            for (Object ly : li) {
//                System.out.println(ly);
//            }
//            li.clear();
//            System.out.println(li);
//            System.out.println(li.contains("小狗"));
//            System.out.println(li.indexOf("猴子"));
//            System.out.println(li.remove(4));
//            Iterator it=li.iterator();
//            System.out.println(it.hasNext());
            
        }
}

  

posted @ 2017-09-26 15:34  wanghusuoyi  阅读(94)  评论(0编辑  收藏  举报