首页 > 代码库 > 黑马程序员_java集合 使用

黑马程序员_java集合 使用

------- <a href=http://www.mamicode.com/"http://www.itheima.com" target="blank">android培训、java培训、期待与您交流! ----------


一.集合的概念

  • 1.什么是集合
    • 集合是一种容器, 长度可变, 可以存储任意类型的对象. 基本数据类型也可以装入集合, 但其实内部是先自动装箱成包装类对象, 然后再存入集合的

二.集合的分类

  • 1.Collection
    • List: 可重复, 有存储顺序,有索引
      • ArrayList 数组实现, 增删慢, 查找快
      • LinkedList 链表实现, 增删快, 查找慢
      • Vector 数组实现, 原理和ArrayList相同, 但线程安全
    • Set: 不可重复,存取顺序不一致,无索引
      • HashSet
      • TreeSet
      • LinkedHashSet
  • 2.Map
    • HashMap
    • TreeMap
    • Hashtable
    • LinkedHashMap

三.集合的常用方法

  • 1.常用方法
    • add(Object obj) 向集合中添加一个元素, 添到最后的位置
    • get(int index) 获取集合中指定位置的元素
    • size() 获取集合的长度
    • add(int index, Object obj) 向集合中添加一个元素, 添到指定位置
    • set(int index, Object obj) 把集合中指定位置的元素替换
    • remove(int index) 删除集合中指定位置的元素
    • remove(Object obj) 删除集合中包含的obj对象(遍历集合中的元素如果传入的元素equals某个元素就调用remove方法,注意:角标要--)
  • 2.迭代集合
    • a.for循环: 从0循环到集合的size()-1, 每次获取其中一个
    • b.迭代器: 调用iterator()方法获取迭代器, 使用hasNext()判断是否包含下一个元素, 使用next()获取下一个元素
    • c.增强for循环: for (类型 变量名 : 容器) { 循环体 } 容器中有多少个元素就执行多少次循环体, 每次循环变量指向容器中不同的元素
  • 3.迭代时删除的问题
    • a.for循环: 删除时由于后面的元素会向前移动, 所以删除之后循环变量要--
    • b.迭代器: 要删除元素时必须使用Iterator中的remove()否则会抛出异常
    • c.增强for循环: 不能删除

黑马程序员_java集合 使用