Java常用api(util)
Posted 十二朵向日葵
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java常用api(util)相关的知识,希望对你有一定的参考价值。
接口 Iterator<E>
public interface Iterator<E> 对 collection 进行迭代的迭代器。
常用方法
boolean hasNext() 如果有元素可以迭代,返回true。
E next() 返回下一个元素。
void remove() 从迭代器指向的 collection 中移除迭代器返回的最后一个元素(可选操作)。
接口 Collection<E>
public interface Collection<E> extends Iterable<E>
Collection 表示一组对象,这些对象也称为 collection 的元素。一些 collection 允许有重复的元素,而另一些则不允许。没有实现类,只有子接口。一些 collection 是有序的,而另一些则是无序的。此接口通常用来传递 collection,并在需要最大普遍性的地方操作这些 collection。
接口 List<E>
public interface List<E> extends Collection<E>
有序的 collection(也称为序列)。此接口的用户可以对列表中每个元素的插入位置进行精确地控制。用户可以根据元素的整数索引(在列表中的位置)访问元素,并搜索列表中的元素。与 set 不同,list通常允许重复的元素。
类 ArrayList<E>
public class ArrayList<E> extends AbstractList<E>
List接口的可变大小数组的实现类,可以包括null值。除了实现 List 接口外,此类还提供一些方法来操作内部用来存储列表的数组的大小。(此类大致上等同于 Vector 类,除了此类是不同步的。)考虑到线程安全,应该使用 Collections.synchronizedList
方法将该列表“包装”起来。
List list = Collections.synchronizedList(new ArrayList(...));
构造方法
public ArrayList() 构造一个容量为10的空列表(常用,一般需要设置泛型)
public ArrayList(int initialCapacity) 构造一个具有指定初始容量的空列表。
public ArrayList(Collection<? extends E> c) 构造一个包含指定 collection 的元素的列表,这些元素是按照该 collection 的迭代器返回它们的顺序排列的。
常用方法
增加方法
public boolean add(E e) 将指定的元素添加到此列表的尾部。
public void add(int index, E element) 将指定的元素插入此列表中的指定位置。向右移动当前位于该位置的元素(如果有)以及所有后续元素(将其索引加 1)。
public boolean addAll(Collection<? extends E> c) 将集合添加到 Llist 的尾部。
删除方法
public void clear() 移除列表中所有元素。
public E remove(int index) 移除此列表中指定位置上的元素。向左移动所有后续元素(将其索引减 1)。
public boolean remove(Object o) 移除此列表中首次出现的指定元素(如果存在)。
其他方法
public E get(int index) 获取指定位置的元素。
public E set(int index, E element) 替换指定位置的元素。
public boolean isEmpty() 判断是否包含元素,没有返回true。
public boolean contains(Object o) 判断是否包含元素。
public int size() 返回元素个数。
public Object[] toArray() 按适当顺序(从第一个到最后一个元素)返回包含此列表中所有元素的数组。
public <T> T[] toArray(T[] a) 按适当顺序(从第一个到最后一个元素)返回包含此列表中所有元素的数组;返回数组的运行时类型是指定数组的运行时类型。如果指定的数组能容纳列 表,则将该列表返回此处。否则,将分配一个具有指定数组的运行时类型和此列表大小的新数组。如果指定的数组能容纳队列,并有剩余的空间(即数组 的元素比队列多),那么会将数组中紧接 collection 尾部的元素设置为 null。(仅 在调用者知道列表中不包含任何 null 元素时才能用此方法确定列表长 度)。
类 LinkedList<E>
public class LinkedList<E> extends AbstractSequentialList<E>
List 接口的链接列表实现。除了实现 List 接口外,LinkedList 类还为在列表的开头及结尾 get、remove 和 insert 元素提供了统一的命名方法。这些操作允许将链接列表用作堆栈、队列或双端队列。考虑到线程安全,应该使用 Collections.synchronizedList
方法来“包装”该列表。
List list = Collections.synchronizedList(new LinkedList(...));
特殊方法
增加方法
public void addFirst(E e) 将指定元素插入到列表开头
public void addLast(E e) 将指定元素添加到列表结尾
public boolean offerFirst(E e) 在此列表的开头插入指定的元素。
public boolean offer(E e) 将指定元素添加到此列表的末尾(最后一个元素)。
获取方法
public E peekFirst() 获取但不移除此列表的第一个元素;如果此列表为空,则返回 null
public E peekLast() 获取但不移除此列表的最后一个元素;如果此列表为空,则返回 null。
public E pollFirst() 获取并移除此列表的第一个元素;如果此列表为空,则返回 null。
public E pollLast() 获取并移除此列表的最后一个元素;如果此列表为空,则返回 null。
其他方法
public Iterator<E> descendingIterator() 以逆向顺序返回迭代器
类 Vector<E>
public class Vector<E> extends AbstractList<E>
Vector 类可以实现可增长的对象数组。是线程安全的
类 Stack<E>
public class Stack<E> extends Vector<E>
Stack 类表示后进先出(LIFO)的对象堆栈。它通过五个操作对类 Vector 进行了扩展 ,允许将向量视为堆栈。
构造方法
public Stack() 创建一个空堆栈。
常用方法
public E push(E item) 把项压入堆栈顶部。
public E pop() 移除堆栈顶部的对象,并作为此函数的值返回该对象。
public E peek() 查看堆栈顶部的对象,但不从堆栈中移除它。
public int search(Object o) 返回对象在堆栈中的位置,以 1 为基数。此方法返回距堆栈顶部最近的出现位置到堆栈顶部的距离;
接口 Set<E>
public interface Set<E> extends Collection<E>
一个不包含重复元素的 collection。
类 HashSet<E>
public class HashSet<E> extends AbstractSet<E>
此类实现 Set 接口,由哈希表(实际上是一个 HashMap 实例)支持。注意,此实现不是同步的。应该使用 Collections.synchronizedSet
方法来“包装” set。
构造方法
public HashSet() 构造一个新的空 set,其底层 HashMap 实例的默认初始容量是 16,加载因子是 0.75。
public HashSet(Collection<? extends E> c) 构造一个包含指定 collection 中的元素的新 set。使用默认的加载因子 0.75 和足以包含指定 collection 中所有元素的初始容量来创建 HashMap。
public HashSet(int initialCapacity, float loadFactor) initialCapacity
- 哈希映射的初始容量loadFactor
- 哈希映射的加载因子
public HashSet(int initialCapacity) 构造一个新的空 set,其底层 HashMap 实例具有指定的初始容量和默认的加载因子(0.75)。
常用方法
public boolean add(E e) 如果此 set 中尚未包含指定元素,则添加指定元素。如果此 set 已包含该元素,则该调用不更改 set 并返回 false。
public boolean remove(Object o) 如果指定元素存在于此 set 中,则将其移除。
public void clear() 从此 set 中移除所有元素。此调用返回后,该 set 将为空。
类 TreeSet<E>
public class TreeSet<E> extends AbstractSet<E> 使用元素的自然顺序对元素进行排序,或者根据创建 set 时提供的 Comparator
进行排序,具体取决于使用的构造方法。此实现不是同步的
接口 Map<K,V>
public interface Map<K,V> 将键映射到值的对象。一个映射不能包含重复的键;每个键最多只能映射到一个值。
类 HashMap<K,V>
public class HashMap<K,V> extends AbstractMap<K,V>基于哈希表的 Map 接口的实现。此实现提供所有可选的映射操作,并允许使用 null 值和 null 键。(除了非同步和允许使用 null 之外,HashMap 类与 Hashtable 大致相同。)
构造方法
public HashMap() 构造一个具有默认初始容量 (16) 和默认加载因子 (0.75) 的空 HashMap。
public HashMap(int initialCapacity, float loadFactor) 构造一个带指定初始容量和加载因子的空 HashMap。
public HashMap(int initialCapacity)。构造一个带指定初始容量和默认加载因子 (0.75) 的空 HashMap。
public HashMap(Map<? extends K,? extends V> m)构造一个映射关系与指定 Map 相同的新 HashMap。所创建的 HashMap 具有默认加载因子 (0.75) 和足以容纳指定 Map 中映射关系的初始容量。
常用方法
public void clear() 移除所有映射关系
public boolean containsKey(Object key) 如果此映射包含对于指定键的映射关系,则返回 true。
public boolean containsValue(Object value) 如果此映射将一个或多个键映射到指定值,则返回 true。
public Set<Map.Entry<K,V>> entrySet() 返回此映射所包含的映射关系的 Set
视图。
public V get(Object key) 返回指定键所映射的值;如果对于该键来说,此映射不包含任何映射关系,则返回 null
。
public boolean isEmpty() 如果此映射不包含键-值映射关系,则返回 true。
public Set<K> keySet() 返回此映射中所包含的键的 Set
视图。
public V put(K key, V value) 在此映射中关联指定值与指定键。
public void putAll(Map<? extends K,? extends V> m) 将指定映射的所有映射关系复制到此映射中,这些映射关系将替换此映射目前针对指定映射中所有键的所有映射关系。
public V remove(Object key) 从此映射中移除指定键的映射关系(如果存在)。
public int size() 返回此映射中的键-值映射关系数。
public Collection<V> values() 返回此映射所包含的值的 Collection
视图。
以上是关于Java常用api(util)的主要内容,如果未能解决你的问题,请参考以下文章