集合常用功能(轉載)
Collection 常用功能
Collection是所有單列集合的父介面,因此在Collection中定義了單列集合(List和Set)通用的一些方法,這些方法可用於操作所有的單列集合。方法如下:
-
public boolean add(E e)
: 把給定的物件新增到當前集合中 。 -
public void clear()
:清空集合中所有的元素。 -
public boolean remove(E e)
: 把給定的物件在當前集合中刪除。 -
public boolean contains(E e)
: 判斷當前集合中是否包含給定的物件。 -
public boolean isEmpty()
-
public int size()
: 返回集合中元素的個數。 -
public Object[] toArray()
: 把集合中的元素,儲存到陣列中。
List介面中常用方法
List作為Collection集合的子介面,不但繼承了Collection介面中的全部方法,而且還增加了一些根據元素索引來操作集合的特有方法,如下:
-
public void add(int index, E element)
: 將指定的元素,新增到該集合中的指定位置上。 -
public E get(int index)
:返回集合中指定位置的元素。 -
public E remove(int index)
-
public E set(int index, E element)
:用指定元素替換集合中指定位置的元素,返回值的更新前的元素。
LinkedList集合
實際開發中對一個集合元素的新增與刪除經常涉及到首尾操作,而LinkedList提供了大量首尾操作的方法。這些方法我們作為了解即可:
-
public void addFirst(E e)
:將指定元素插入此列表的開頭。 -
public void addLast(E e)
:將指定元素新增到此列表的結尾。 -
public E getFirst()
:返回此列表的第一個元素。 -
public E getLast()
-
public E removeFirst()
:移除並返回此列表的第一個元素。 -
public E removeLast()
:移除並返回此列表的最後一個元素。 -
public E pop()
:從此列表所表示的堆疊處彈出一個元素。 -
public void push(E e)
:將元素推入此列表所表示的堆疊。 -
public boolean isEmpty()
:如果列表不包含元素,則返回true。
HashSet儲存自定義型別元素
給HashSet中存放自定義型別元素時,需要重寫物件中的hashCode和equals方法,建立自己的比較方式,才能保證HashSet集合中的物件唯一
public class Student {
private String name;
private int age;
public Student() {
}
public Student(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public boolean equals(Object o) {
if (this == o)
return true;
if (o == null || getClass() != o.getClass())
return false;
Student student = (Student) o;
return age == student.age &&
Objects.equals(name, student.name);
}
@Override
public int hashCode() {
return Objects.hash(name, age);
}
}
LinkedHashSet
我們知道HashSet保證元素唯一,可是元素存放進去是沒有順序的,那麼我們要保證有序,怎麼辦呢?
在HashSet下面有一個子類java.util.LinkedHashSet
,它是連結串列和雜湊表組合的一個數據儲存結構。
Collections
-
java.utils.Collections
是集合工具類,用來對集合進行操作。部分方法如下:
-
public static <T> boolean addAll(Collection<T> c, T... elements)
:往集合中新增一些元素。 -
public static void shuffle(List<?> list) 打亂順序
:打亂集合順序。 -
public static <T> void sort(List<T> list)
:將集合中元素按照預設規則排序。 -
public static <T> void sort(List<T> list,Comparator<? super T> )
:將集合中元素按照指定規則排序。