List集合学习笔记
2014-02-24 09:27
106 查看
----------------------
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
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
相关文章推荐
- 学习笔记_毕向东 Java_集合框架_LinkedList 2014.7.22
- java 集合学习笔记1-Collection 集合遍历 List子类特点
- 黑马程序员_学习笔记:9) 集合框架1:Collection(List、Set)、Iterator、List(ArrayList、LinkedList、Vector)
- [原创]java WEB学习笔记98:Spring学习---Spring Bean配置及相关细节:如何在配置bean,Spring容器(BeanFactory,ApplicationContext),如何获取bean,属性赋值(属性注入,构造器注入),配置bean细节(字面值,包含特殊字符,引用bean,null值,集合属性list map propert),util 和p 命名空间
- Java学习笔记List集合
- 黑马程序员---集合(List)学习笔记
- java 集合学习笔记2-ArrayList LinkedList Vector 泛型 增强for 可变参数
- 13. Java类集 Part 1(类集、Collection接口、List接口、Set接口、SortedSet接口、集合的输出) ----- 学习笔记
- 安卓学习笔记---对List集合进行排序(正序或者倒叙)
- .Net学习笔记----2015-06-25(File类的读写文件、List泛型集合、装箱和拆箱、Dictionary字典集合)
- 黑马程序员--Java基础学习笔记【集合-List、泛型】
- Java学习笔记之集合(四):LinkedList集合的特点和常用方法
- Java学习笔记-------集合List
- C#回顾学习笔记三十五:泛型集合List
- .net学习笔记----有序集合SortedList、SortedList<TKey,TValue>、SortedDictionary<TKey,TValue>
- JavaSE中Collection集合框架学习笔记(1)——具有索引的List
- Python学习笔记(9)-列表list、元组tuple、字典dict、集合set
- 学习笔记——集合(List)
- 黑马程序员----Java集合框架学习笔记1-List 与Set
- Java学习笔记30(集合框架四:List接口)