Collection和iterator接口
iterator接口方法
booleanhasNext() 是否还有下一个元素
Next() 返回下一个元素
remove() 删除当前元素
Collection接口
Collection接口提供了添加、删除元素
collection接口是List接口和set接口的父接口,通常情况下不能被直接使用
List接口允许存放重复的对象和元素,排序方式为对象的插入顺序
Set接口不允许存放重复的对象,排序方式为自身内部排序
Map接口以键值对(key-value)的形式存放对象,其中(key)对象不可以重复,值对象可以重复,排序方式为自身内部的规则
collection接口是List接口和Set接口的父接口
List接口和Set接口的方法通用
boolean add(Object obj):一次性添加一个元素
boolean addAll(Object obj):将一个参数容器中所有元素添加
boolean remove(Object obj):删除一个指定的对象或元素
boolean removeAll(Collection):删除指定Collection中和conllection中相同的元素
void clear():直接将集合中的元素清空
boolean contains(Object obj):是否包含指定元素
boolean containsAll(Collection) 是否包含指定容器中的元素
boolean itEmpty():判断是否有元素
int size() :获取元素有几个
boolean retainAll(Collection):保留和指定元素中相同的元素。不相同的元素会被删除
Object[] toArray():将集合转换成数组
toArray():将集合转换成数组
Iterator iterator()用于取出容器中元素的方式
List集合方法
void add(int index,E element),Boolean addAll(int index,Conllection c)
E get(int index) //返回列表中指定位置的元素
int indexOf(Object o): 返回列表中第一次出现的元素索引
int lastIndexOf(Object o ): 返回列表中最后出现的元素索引
E remove(int index) 移动元素
E set(int index ,E element) 元素替换
List<E> subList(int fromIndex.int toIndex)返回子列表
实现List<E>接口的集合类有ArrayList<E> Vector<E> Stack<E> linkedlist<E>这些类的对象均能调用上述方法,按索引进行元素增删改
Set<E>接口
Set集合为集类型,集是最简单的一种集合,存放与集合的对象不按特定方式排序但Set集合中不能包含重复对象,Set接口继承了Collection接口,也拥有Conllection接口提供的所有常用方法
传入的Collection对象不能有重复值
set接口常用的实现类有HashSet类和TreeSet类
HashSet类
HashSet的排序规则是利用哈希法(Hash)
HashSet根据对象的哈希码确定对象的存储位置
TreeSet类
TreeSet类实现了Set接口与java.util.sortedSet接口,sortedSet提供了相关的方法保证在遍历集合时按照递增的顺序获得对象,遍历对象时可能按照自然顺序递增排序。
TreeSet类实现了Set接口与java.util.sortedSet接口增加的方法如下。
Comparator():获得对该集合采用的比较器。返回值为Comparator类型,如果未采用任何比较器则返回null
first():返回在集合中排序位于第一位的对象
last():返回在集合中排序位于最后的对象
headSet(E toElement):截取在集合中的排序位于对象toElement(不包括)之前的所有对象
subset(E fromElement,E toelement):截取在集合中排序位于对象fromElement(包括)和对象toElement(不包含)之间的所有对象,重新生成一个set集合并返回
tailSet(E fromElement):截取在集合中排序位于对象fromElement(包括)之后的所有对象,重新生成一个set集合返回并使用
Queue<E>接口
Queue是一种保证元素处理顺序集合,除了基本的Collection操作外,该接口还提供了自己的插入、访问及删除元素的操作,Queue接口的常用方法如下
boolean offer(E o):如果可能,将指定元素插入此队列
E poll():检索并移除此队列的头,如果此队列为空,则返回null
E remove() 检索并移除此队列的头,此方法和pull方法不同点,此队列为空则抛出异常
E peek():检索,但是不移除此队列的头,如果此队列为空,则返回null
E element:检索,但是不移除此队列的头,此方法与peek方法的唯一不同是,若干此队列为空则抛出异常
集合实用类Collections
集合实用类Conllections提供了一下集合的辅助静态方法
Collections和collection的不同之处在于Collection是集合框架中的一个顶层接口,Collections是集合框架中的一个工具类
Collections一下常用方法
reverseOrder():返回一个比较器
sort(List<T> list,Comparator<? super T> C):根据指定比较器产生的顺序对指定列表排序
shuffle(List<?> list):使用默认随机源对指定列表进行置换
max(Collection<? extends T> coll):根据元素的自然顺序,返回给定Collection最大元素
min(Collection<? extends T> coll):根据元素的自然顺序,返回给定Collection最小元素
基本数据类型包装
1、基本数据类型
基本数据
基本数据类型对象包装类的最常见作用,就是用于基本数据类型和字符串类型之间的转换
基本数据类型转换字符串
基本数据类型.toString(基本数据类型值)
Interger.toString(32) //将32 整数变成“34”
字符串转成基本数据类型,例如
十进制转换其他进制,例如
其他进制转换成十进制例如
自动装箱和自动拆箱
在java中数据类型可以分为基本数据类型(值类型)和类类型(引用数据类型)两种。基本类型的数值不是对象,不能作为对象调用其toString()、hashCode()、getClass()、equals()等方法,提供基本数据类型的自动装箱、拆箱的功能
装箱
就是把数据类型用他们相对于的引用类型包起来,使他们可以具有对象的特质,例如可以把int型包装成Integer类的对象,或者把double包装成Double等
基本数据类型的数组不实现自动装箱和拆箱,如int[]不能当Integer[]使用
小结
1、由Collection接口派生的两个接口是set接口和list接口
2、Iteration对象是一个集合的迭代器,用以方便地实现对容器内元素的遍历操作
3、ArrayList<E>类实现了可变的数组,允许所有元素,包括,可以根据对集合进行快速访问。