List集合学习笔记

---------------------- ASP.Net+Unity开发.Net培训、期待与您交流! ----------------------

集合:

1特点:集合中存放的都是对象,长度是不可变的,数组可以存放基本数据类型,长度不可变。
2框架:Collection 
List //元素是有序的,元素可以重复,因为该集合体系有索引,特有的迭代器,ListIterator是Iterator的子接口,只能用迭代器来操作元素,Iterator方法有限,只能提供添加、修改等,ListIterator可以提供更多的方法。
ArrayList //底层的数据结构使用的是数组结构。特点:查询速度快,但是增删稍慢。线程不同步。
add()方法,参数是Object类型的对象,集合里面存放的都是对象的引用地址。
add(索引,对象) 在指定位置添加元素
set(索引,对象) 修改元素
get(索引) 得到相应的元素
remove()删除集合中的某个元素。
clear()清空集合
contains() 是否包含某个元素
isEmpty()集合是否为空
retainAll(集合) 取两个集合的交集。
removeAll(集合)去掉两个集合重复的部分
//迭代时不允许修改集合,否则发生异常。
Iterator it=集合.iterator()
while (it.hasNext()) {
it.next();
it.add();//迭代器的添加元素的方法
it.set();//迭代器修改元素的方法
}
indexOf(元素) 获取元素的索引
subList(1,3) 截取集合 返回集合类型
LinkedList//底层使用的链表数据结构。 特点:查询速度慢,增删快。
//特有方法
addFirst()//添加元素
addLast()
getFirst()//获取元素,如果集合中没有元素,会出现异常
getLast()
removeFirst()//删除元素,返回值是删除的元素,如果集合中没有元素,会出现异常
removeLast()
//1.6版本后提供一下方法,替代以上的方法
offerFirst()//添加元素
offerLast()
PeekFirst()//得到元素,如果集合中没有元素,返回null.
PeekLast()
pollFirst()//删除元素,如果集合中没有元素,返回null.
pollLast()
Vector//底层是数组数据结构。1.0版本时的集合,被ArrayList代替,线程同步。
枚举是Vector特有的取去方式,和迭代器是一样的,枚举取数据方式的名字和方法名字都过长,被迭代取代。


Set //元素是无序的(存入和取出是不一定一致),元素不可以重复。
HashSet//底层数据结构是哈希表,通过HashCode和equals来判断是否重复,首先判断HashCode,如果一样在判断equals。注意:对于判断元素是否存在,以及删除等操作依赖于HashCode和equals两个方法。

TreeSet//底层数据结构是二叉树结构,可以对集合中元素排序, 集合中的元素需要实现Comparable接口,创建接口时,可以传入一个比较器(实现Comparator接口)覆盖compare方法。

---------------------- ASP.Net+Unity开发.Net培训、期待与您交流! ----------------------详细请查看: http://edu.csdn.net
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值