《每天进步一点点》DAY5:Java集合

数组和集合区别

  • 数组长度是固定的,不可变,集合长度可变
  • 数组可存储基本数据类型,也可存储引用数据类型,集合只能存储引用数据类型

List和Set区别

  • List: 有序,有索引,可重复
  • Set :无序,无索引,不能重复

List三个子类的特点

  • ArrayList 和 Vector底层数据结构是数组,查询快,增删慢
  • LinkedList 底层数据结构是链表,查询慢,增删快
  • ArrayList,LinkedList都是线程不安全的,效率高,Vector是线程安全的,效率低
  • Vector基本上不用,查询多用ArrayList,增删多用LinkedList

Iterator并发修改异常解决方案

  • 异常复现场景:迭代器遍历过程中,调用集合的方法修改了集合
  • 解决方案:使用ListIterator,并且使用ListIterator本身的特有方法修改集合

集合中迭代方式删除元素

  • 普通for循环,可以删除,但是索引要--
  • 迭代器,可以删除,但是必须使用迭代器自身的remove方法,否则会出现并发修改异常
    注意:增强for循环不能删除,只能遍历

可变参数

  • 格式
    • 修饰符 返回值类型 方法名(数据类型… 变量名){}
  • 注意事项:
    • 这里的变量其实是一个数组
    • 如果一个方法有可变参数,并且有多个参数,那么,可变参数肯定是最后一个
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容