每日 一记

集合:
Collection是一个接口,是高度抽象出来的集合,它包含了集合的基本操作和属性。Collection包含了List和Set两大分支。
(1)List是一个有序的队列,每一个元素都有它的索引。第一个元素的索引值是0。List的实现类有LinkedList, ArrayList, Vector, Stack。

(2)Set是一个不允许有重复元素的集合。Set的实现类有HastSet和TreeSet。HashSet依赖于HashMap,它实际上是通过HashMap实现的;TreeSet依赖于TreeMap,它实际上是通过TreeMap实现的。

2、Map是一个映射接口,即key-value键值对。Map中的每一个元素包含“一个key”和“key对应的value”。AbstractMap是个抽象类,它实现了Map接口中的大部分API。而HashMap,TreeMap,WeakHashMap都是继承于AbstractMap。Hashtable虽然继承于Dictionary,但它实现了Map接口。
 Iterator叫做“迭代器”,它提供一种方法访问一个容器(container) 对象中各个元素,而又不需暴露
该对象的内部细节由于Collection接口继承了Iterator,所以所有集合对象都可以被迭代,Collection接口内定义 了iterator()方法,能获得一个Iterator迭代器,从而实现对集合的迭代

ArrayList和LinkedList的区别

通过对比ArrayList和LinkedList,不难发现,其实不管是ArrayList也好,LinkedList也罢, 它们的本质区别不在于几个方法的存在与否,对于ArrayList来说, 由于遍历的便捷,提供了indexOf()方法,对于LinkedList来说,由于增删的便捷,提供了诸如addFirst()、addLast()、removeFirst()、removeLast()等方法。但总体来看,它们的功能是一致的,无非是对数据元素的增删改查、获得子集合、访问属性等等。所以看问题要看本质,它们的区别在于实现的数据结构不同,ArrayList实现了可变数组,而LinkedList实现了 链表,这将导致它们适合于不同的场合,如果某系统查询很多而数据变动很少,最好使用ArrayList而不是LinkedList,如果系统数
据经常做增加删除的操作,则应当选择L inkedList
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值