A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

数组: 存储同一种数据类型的集合容器.
数组的特点:
1. 只能存储同一种数据类型的数据。
2. 一旦初始化,长度固定。
3. 数组中的元素与元素之间的内存地址是连续的。

注意: Object类型的数组可以存储任意类型的数据。

public class Demo1 {

        public static void main(String[] args) {
                Object[] arr = new Object[10];
                arr[1] = "abc";
                arr[2] = 'a';
                arr[3] = 12;
               
        }       
}
集合:集合是存储对象数据的集合容器。
集合比数组的优势:
1. 集合可以存储任意类型的对象数据,数组只能存储同一种数据类型 的数据。
2. 集合的长度是会发生变化的,数组的长度是固定的。

集合的分类

---|Collection: 单列集合

          ---|List: 有存储顺序, 可重复

             ---|ArrayList:  数组实现, 查找快, 增删慢

                             由于是数组实现, 在增和删的时候会牵扯到数组

   增容, 以及拷贝元素. 所以慢。数组是可以直接

   按索引查找, 所以查找时较快

             ---|LinkedList: 链表实现, 增删快, 查找慢

                             由于链表实现, 增加时只要让前一个元素记住自

   己就可以, 删除时让前一个元素记住后一个元

   素, 后一个元素记住前一个元素. 这样的增删效

  率较高但查询时需要一个一个的遍历, 所以效率

较低

             ---|Vector:  和ArrayList原理相同, 但线程安全, 效率略低

                             和ArrayList实现方式相同, 但考虑了线程安全问

题, 所以效率略低

          ---|Set: 无存储顺序, 不可重复

             ---|HashSet

             ---|TreeSet

             ---|LinkedHashSet

---| Map: 键值对

      ---|HashMap

      ---|TreeMap

      ---|HashTable

      ---|LinkedHashMap
Collection接口中的方法:
增加
  add(E e)  添加成功返回true,添加 失败返回false.
  addAll(Collection c)  把一个集合 的元素添加到另外一个集合中去。
删除
  clear()
  remove(Object o)   
  removeAll(Collection  c)
  retainAll(Collection  c)
查看
  size()
判断
  isEmpty()
  contains(Object o)
  containsAll(Collection<?> c)  
迭代
  toArray()
  iterator()
package lx4;
import java.util.ArrayList;
import java.util.Collection;
public class Demo1 {

        public static void main(String[] args) {
                // TODO Auto-generated method stub
                Collection c=new ArrayList();
                c.add("刚回家");
                c.add("古古惑惑");
                c.add("很遗憾");
                System.out.println("c集合的元素:"+ c);
                System.out.println("添加成功吗?"+c.add("郭美美"));
                System.out.println("c集合的元素:"+ c);
                Collection c2 = new ArrayList();
                c2.addAll(c);
                System.out.println("c2集合的元素:"+ c2);
                c2.clear();
                System.out.println("c2集合的元素:"+ c2);
                System.out.println("删除成功吗?"+c.remove("美美"));  
                c2.add("方法厚");
                c2.add("郭美美");
                c2.add("狗");
                System.out.println("c2集合的元素:"+ c2);
                c.removeAll(c2);
                System.out.println("c集合的元素:"+ c);
                System.out.println("查看元素个数:"+c.size());
                c.add("方法厚");
                c.add("郭美美");
                System.out.println("集合的元素:"+ c);
                c.retainAll(c2);
                System.out.println("集合的元素:"+ c);
                System.out.println("判断集合是否为空元素:"+ c.isEmpty());
               

        }

}



---------------------
【转载】
作者:江南233244
原文:https://blog.csdn.net/qq_3913124 ... 134?utm_source=copy

3 个回复

倒序浏览
奈斯
回复 使用道具 举报
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马