2019.08.16总结

集合

在这里插入图片描述
集合图解
集合也是一个容器,用来存数据

数组的缺点

  • 只要创建出来就固定其长度了, 所有扩展性差,。所以才有集合去代替

数组与集合的关系

相同点:
  • 数组与集合都是用来存数据, 都可以通过索引来获取数据
  • 数组与集合都是采用数组的方法来进行存的
不同点
  • 数组可以存基本数据类型,也可以存引用数据类型
  • 集合只能够存引用数据类型

Collection

  • Collection 层次结构 中的根接口索引也是从0开始
  • boolean add(E e) 添加,返回值是bealoon添加成功返回true
  • boolean contains(Object o) 判断是否有此元素,如果存在返回true,否则false
  • boolean isEmpty() 判断集合里是否有元素
  • boolean remove(Object o) 根据集合里的元素进行删除
  • int size() 获取到集合的长度
  • Object[] toArray() 把集合转换成数组
  • void clear() 清空数组里的所有的元素
  • iterator() 把集合转换成迭代器的方法

所有带ALL的方法

  • addAll(Collection<? extends E> c) 把小集合添加到大集合里, 例如: co.addAll©; 把集合c的所有数据添加到co。
  • boolean containsAll(Collection<?> c) 如果此 collection 包含指定 collection 中的所有元素,则返回 true。
  • removeAll(Collection<?> c) 返回值:如果存在交集返回 是true , 返回的是没有较交集的数据
  • retainAll(Collection<?> c) 返回值 判断是否发生该变,如果发生该变返回true,不发生该变返回false 取出来的是交集的结果

感觉Arraylist 最重要所以列出三种遍历方法

 /*
     * 遍历ArrayList的方法一:使用普通for循环
     */
    public static void function(){
        ArrayList<String>  name= new ArrayList<>();
        name.add("zhangsan");
        name.add("lisi");
        name.add("wangwu");
        name.add("zhaoliu");
        //使用size()方法获取到集合的长度
        for (int i = 0; i < name.size(); i++) {
            System.out.println(name.get(i));
        }
    }

/*
     * 遍历ArrayList的方法二:使用增强for循环
     */
    public static void foreach(){
        ArrayList<String>  name= new ArrayList<>();
        name.add("zhangsan");
        name.add("lisi");
        name.add("wangwu");
        name.add("zhaoliu");
        for (String string : name) {
            System.out.println(string);
        }
    }
/*
     * 遍历ArrayList的方法三:使用迭代器iterator
     */
        ListIterator  iter = list.listIterator();
          while (iter.hasNext()){
             Aactor aactor  = (Aactor) iter.next();
              System.out.println(aactor.toString());
          }
  • ListIterator 这个迭代器是针对 list 集合而存在, 它的父类也是Iterator
  • ArrayList: 1.有顺序 2. 有索引 3.可以重复 4.线程不安全
  • LinkedList: 1.是以链表式来进行存 特点: 增加 删除 修改 速度快,效率高 查询速度慢

vector

  • 线程是安全的,构造方法跟Arraylist一样

独有的方法

  • public void addElement(E obj) 向末尾来添加数据
  • public E elementAt(int index) 根据索引来获取
  • public boolean removeElement(Object obj) 删除集合里的对象
  • Element 都是根据节点来进行操作

疑问

用了集合就可以放弃数组了吗

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值