JAVA学习笔记---集合(Collection)
来源:互联网 发布:小苍零食淘宝店 编辑:程序博客网 时间:2024/05/19 20:59
Collection定义了集合框架的共性功能。
1,添加
add(e); add方法的参数类型是Object。以便于接收任意类型对象
addAll(collection);
2,删除
remove(e);
removeAll(collection);
clear();
3,判断。
contains(e);
isEmpty();
4,获取
iterator(); 迭代器--其实就是集合的取出元素的方式 。
size(); 集合长度 元素个数
5,获取交集。
retainAll(); 取交集
6,集合变数组。
toArray();
集合中存储的都是对象的引用(地址).
Collection
|--List:元素是有序的,元素可以重复。因为该集合体系有索引。
|--ArrayList:底层的数据结构使用的是数组结构。特点:查询速度很快。但是增删稍慢。线程不同步。
|--LinkedList:底层使用的链表数据结构。特点:增删速度很快,查询稍慢。线程不同步。
|--Vector:底层是数组数据结构。线程同步。被ArrayList替代了。因为效率低。
|--Set:元素是无序(存入和取出的顺序不一定一致),元素不可以重复。
|--HashSet:底层数据结构是哈希表。是线程不安全的。不同步。
HashSet是如何保证元素唯一性的呢?
是通过元素的两个方法,hashCode和equals来完成。如果元素的HashCode值相同,才会判断equals是否为true。
如果元素的hashcode值不同,不会调用equals。
注意,对于判断元素是否存在,以及删除等操作,依赖的方法是元素的hashcode和equals方法。
|--TreeSet:可以对Set集合中的元素进行排序。底层数据结构是二叉树。
保证元素唯一性的依据:compareTo方法return 0.
TreeSet排序的第一种方式:让元素自身具备比较性。
元素需要实现Comparable接口,覆盖compareTo方法。
这种方式也成为元素的自然顺序,或者叫做默认顺序。
TreeSet的第二种排序方式:
当元素自身不具备比较性时,或者具备的比较性不是所需要的。
这时就需要让集合自身具备比较性。定义了比较器,将比较器对象作为参数传递给TreeSet集合的
构造函数。在集合初始化时,就有了比较方式。
List:
特有方法。凡是可以操作角标的方法都是该体系特有的方法。
增
add(index,element);
addAll(index,Collection);
删
remove(index);
改
set(index,element);
查
get(index):
subList(from,to);
listIterator();
int indexOf(obj):获取指定元素的位置。
ListIterator listIterator();List集合特有的迭代器。ListIterator是Iterator的子接口。
在迭代时,不可以通过集合对象的方法操作集合中的元素,因为会发生ConcurrentModificationException异常。所以,在迭代器时,只能用迭代器的方法操作元素,可是Iterator方法是有限的,只能对元素进行判断,取出,删除的操作,如果想要其他的操作如添加,修改等,就需要使用其子接口,ListIterator。该接口只能通过List集合的listIterator方法获取。
LinkedList:特有方法:
addFirst();addLast();getFirst();getLast();
获取元素,但不删除元素。如果集合中没有元素,会出现NoSuchElementException
removeFirst();removeLast();
获取元素,但是元素被删除。如果集合中没有元素,会出现NoSuchElementException
在JDK1.6出现了替代方法。
offerFirst();offerLast();peekFirst();peekLast();
获取元素,但不删除元素。如果集合中没有元素,会返回null。
pollFirst();pollLast();
获取元素,但是元素被删除。如果集合中没有元素,会返回null。
Set:
Set集合的功能和Collection是一致的
1,添加
add(e); add方法的参数类型是Object。以便于接收任意类型对象
addAll(collection);
2,删除
remove(e);
removeAll(collection);
clear();
3,判断。
contains(e);
isEmpty();
4,获取
iterator(); 迭代器--其实就是集合的取出元素的方式 。
size(); 集合长度 元素个数
5,获取交集。
retainAll(); 取交集
6,集合变数组。
toArray();
集合中存储的都是对象的引用(地址).
Collection
|--List:元素是有序的,元素可以重复。因为该集合体系有索引。
|--ArrayList:底层的数据结构使用的是数组结构。特点:查询速度很快。但是增删稍慢。线程不同步。
|--LinkedList:底层使用的链表数据结构。特点:增删速度很快,查询稍慢。线程不同步。
|--Vector:底层是数组数据结构。线程同步。被ArrayList替代了。因为效率低。
|--Set:元素是无序(存入和取出的顺序不一定一致),元素不可以重复。
|--HashSet:底层数据结构是哈希表。是线程不安全的。不同步。
HashSet是如何保证元素唯一性的呢?
是通过元素的两个方法,hashCode和equals来完成。如果元素的HashCode值相同,才会判断equals是否为true。
如果元素的hashcode值不同,不会调用equals。
注意,对于判断元素是否存在,以及删除等操作,依赖的方法是元素的hashcode和equals方法。
|--TreeSet:可以对Set集合中的元素进行排序。底层数据结构是二叉树。
保证元素唯一性的依据:compareTo方法return 0.
TreeSet排序的第一种方式:让元素自身具备比较性。
元素需要实现Comparable接口,覆盖compareTo方法。
这种方式也成为元素的自然顺序,或者叫做默认顺序。
TreeSet的第二种排序方式:
当元素自身不具备比较性时,或者具备的比较性不是所需要的。
这时就需要让集合自身具备比较性。定义了比较器,将比较器对象作为参数传递给TreeSet集合的
构造函数。在集合初始化时,就有了比较方式。
List:
特有方法。凡是可以操作角标的方法都是该体系特有的方法。
增
add(index,element);
addAll(index,Collection);
删
remove(index);
改
set(index,element);
查
get(index):
subList(from,to);
listIterator();
int indexOf(obj):获取指定元素的位置。
ListIterator listIterator();List集合特有的迭代器。ListIterator是Iterator的子接口。
在迭代时,不可以通过集合对象的方法操作集合中的元素,因为会发生ConcurrentModificationException异常。所以,在迭代器时,只能用迭代器的方法操作元素,可是Iterator方法是有限的,只能对元素进行判断,取出,删除的操作,如果想要其他的操作如添加,修改等,就需要使用其子接口,ListIterator。该接口只能通过List集合的listIterator方法获取。
LinkedList:特有方法:
addFirst();addLast();getFirst();getLast();
获取元素,但不删除元素。如果集合中没有元素,会出现NoSuchElementException
removeFirst();removeLast();
获取元素,但是元素被删除。如果集合中没有元素,会出现NoSuchElementException
在JDK1.6出现了替代方法。
offerFirst();offerLast();peekFirst();peekLast();
获取元素,但不删除元素。如果集合中没有元素,会返回null。
pollFirst();pollLast();
获取元素,但是元素被删除。如果集合中没有元素,会返回null。
Set:
Set集合的功能和Collection是一致的
- JAVA学习笔记---集合(Collection)
- Java学习笔记之集合Collection&Map
- Java学习笔记 --- Collection集合框架
- JAVA学习笔记——集合Collection
- collection集合学习笔记
- Java集合框架学习笔记之集合与Collection API
- Java学习笔记之集合(一):Collection集合的方法
- Java学习笔记 13 Java 集合 Collection 基本介绍
- [学习笔记]Java集合框架以及Collection顶层接口
- java集合 - Collection - List - Set - Map - Iterator 学习笔记
- 你不知道的Java学习笔记21-- 集合(Collection)
- JAVA学习笔记——Collection集合总结
- java-collection-集合的学习
- java 集合学习笔记1-Collection 集合遍历 List子类特点
- Java基础学习笔记15——(对象数组,集合(Collection),集合(List))
- Java基础学习笔记16——(Set集合,Collection集合总结)
- 黑马学习笔记--单例集合(Collection)
- 【JavaSE_学习笔记】集合Collection接口
- 计算机程序的工作原理
- java和vb进行socket通信以及java与c/c++/oc 进行socket通信时汉字字符串编码问题解决
- Google IO 2013视频观后感以及和Apple的对比
- JAVA学习笔记-正则表达式
- 【转载 玉开的博客】使用QXmlstreamReader读Xml的顺序
- JAVA学习笔记---集合(Collection)
- 对高性能计算机发展的看法.
- Linux od命令
- sja1000 CAN控制器波特率计算方法详解
- 读《数据挖掘技术(第三版)》-应用于市场营销,销售与客户关系管理 有感
- 算法:最长递增子序列、最长公共子串
- 省赛 双线程dp
- _com_util::ConvertBSTRToString 连接错误
- 下拉树~不断、持续完善中~