List01

本文深入探讨了Java集合框架中的Collection接口,它作为Set和List的父接口,但不适用于Map。重点介绍了List接口的特点,如有序性和元素可重复,并列举了遍历List的多种方式,包括for循环、foreach循环和迭代器。针对List的优化,建议指定初始容量和负载因子。在删除操作中,通过实例展示了顺序遍历删除的问题,推荐使用逆序删除或迭代器删除以避免遗漏元素。此外,文章还简述了泛型的概念,强调其在提高程序健壮性和简化代码方面的作用,以及ArrayList、LinkedList和Vector的区别,讨论了它们在不同场景下的性能表现。


  Collection接口
  集合框架的顶级接口
  是Set和List的父接口
  但不是Map的父接口
  


  集合中只能添加引用类型数据

 list接口的特点:有序、对象可以重复

 打印出按顺序显示且会显示出相同的对象

 

 list的遍历方式:for循环,foreach循环,迭代器

 迭代器的使用需要jdk的版本1.5以上

list的优化:指定初始容量

初始容量10,负载因子0.5

 list的删除:

1.for循环顺序遍历删除会有问题(三瓶水,按顺序喝掉,第一次喝第一瓶,喝完之后第二瓶会替代第一瓶的位置,原本要喝第二瓶的位置会被第三瓶替代,第二瓶就不会喝到)

 打印原本集合的长度和删除后的长度

 

可以看到会有两个对象没有删除

2.逆顺序删除和迭代器删除

 打印原本集合的长度和删除后的长度

 可以看到删除后的集合长度为0

泛型

    要保证在jdk1.5之后
   以类型作为参数的类就叫泛型

作用:提高程序健壮性,简化代码

 泛型的默认值是Object

等同于

  装箱、拆箱
   值类型->引用类型 装箱
   引用类型->值类型 拆箱

   jdk1.5之后引入了自动装箱及自动拆箱功能

 ArrayList、LinkedList、Vector区别
   ArrayList:以连续的数组结构存储数据,查询块(下标)、增删改慢
   LinkedList:以链表的结构存储数据,查询慢、增删改快
   Vector:增删改查都慢,已过时,同步.线程安全

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值