- 1 package 集合;
- 2
- 3 import java.util.ArrayList;
- 4 import java.util.Collection;
- 5
- 6 /**
- 7 * 集合和数组的区别:
- 8 * 1、长度
- 9 * 数组长度固定
- 10 * 集合长度不定
- 11 * 2、内容不同
- 12 * 数组存储的是同一种元素
- 13 * 集合可以存储不同类型的元素
- 14 * 3、存储类型
- 15 * 数组可以存储基本类型数据,也可以存储引用数据类型
- 16 * 集合只能存储引用类型
- 17 *
- 18 * 结构图
- 19 * ArrayList
- 20 * List Vector
- 21 * LinkedList
- 22 * Collection
- 23 * HashSet
- 24 * Set
- 25 * TreeSet
- 26 * Collection功能概述:
- 27 * 1、添加
- 28 * add(Object o) addAll(Collection c)
- 29 * 2、删除
- 30 * clear() 移除所有元素
- 31 * remove(Object o)
- 32 * removeAll(Collection c)
- 33 * 3、修改
- 34 * 4、获取
- 35 * Iterator<E> iterator()
- 36 * 5、长度
- 37 * int size()
- 38 * 6、判断
- 39 * contains(Object o) containAll(Collection c) imEmpty()
- 40 * 7、retainAll(Collection c) 两个集合都有的元素
- 41
- 42 */
- 43 /**
- 44 * 迭代器遍历
- 45 * Iterator it = c.iterator(); //返回的肯定是子类对象,这里是多态
- 46 * it.next(); //移动到下一个 不要在一个语句中多次调用next方法,
- 47 * 因为对象会变
- 48 * it.hasNext() //判断是不是有下一个对象
- 49 * 迭代器遍历元素的时候,通过集合是不能修改元素的
- 50 * 解决办法:
- 51 * 1.迭代器迭代元素,迭代器修改元素 it.add()
- 52 * 2.集合遍历元素,集合修改元素(for)
- 53 *
- 54 */
- 55
- 56
- 57 /**
- 58 * List特点:
- 59 * 1.与set不同,允许重复元素。可根据索引获取对象
- 60 * 2.有序的collection,
- 61 * 3.特有功能:
- 62 * 1.添加功能 add(int index , object element) 在指定位置添加元素
- 63 * 2.获取功能 get(int index) //获取指定位置的元素
- 64 * 3.列表迭代器 ListIterator listIterator() List集合特有的迭代器
- 65 * 4.删除功能 remove(int index) 根据索引删除元素,返回被删除的元素
- 66 * 5.修改功能 set(int index,Object element) 返回被修改的元素
- 67 */
- 68 /**
- 69 * List的子类特点:
- 70 * ArrayList:
- 71 * 底层数据结构是数组,查询快,增删慢
- 72 * 线程不安全,效率高
- 73 * Vector: //一般不同
- 74 * 底层数据结构是数组,查询快,增删慢
- 75 * 线程安全,效率低
- 76 * LinkedList:
- 77 * 底层数据结构是链表,查询慢,增删慢。
- 78 * 线程不安全,效率高。
- 79 * 常见数据结构
- 80 * 栈 先进后出
- 81 * 队列 先进先出
- 82 * 数组 查询慢,增删快
- 83 * 链表 查询慢,增删快
- 84 *
- 85 */
- 86 public class 集合List {
- 87 public static void main(String[] args) {
- 88 //创建集合对象
- 89 Collection c = new ArrayList();
- 90 }
- 91 }