java 集合之實現(xiàn)類ArrayList和LinkedList的方法
List 的方法列表
| 方法名 | 功能說明 | |
|---|---|---|
| ArrayList() | 構造方法,用于創(chuàng)建一個空的數(shù)組列表 | |
| add(E e) | 將指定的元素添加到此列表的尾部 | |
| get(int index) | 返回此列表中指定位置上的元素 | |
| size() | 返回此列表中的元素數(shù) | |
| clear() | 移除此列表中的所有元素 | |
| isEmpty() | 如果此列表中沒有元素,則返回true | |
| remove(int index) | 移除此列表中指定位置上的元素 | |
| indextof(Object o) | 返回此列表中首次出現(xiàn)的指定元素的索引,或如果此列表不包含元素,則返回-1 | |
| toArray | 按適當順序(從第一個到最后一個元素)返回包含此列表中所有元素的數(shù)組 |
下面將用一個簡單的例子進行說明:
實現(xiàn)類ArrayList
package yjlblog;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class Test {
public static void main(String[] args) {
List list = new ArrayList();//List 是接口,用多態(tài)需要指向它的實現(xiàn)類
list.add("double kill");
list.add("three kill");
list.add("four kill");
list.add("pentakill");
System.out.println(list); //[double kill, three kill, four kill, pentakill]
//默認調用的是tostring 方法,但是這個頭string方法不是object里面的,可以查幫助文檔可知,是繼承的collection的一個方法
System.out.println(list.get(2)); //four kill
String s = (String)list.get(2);//如果用定義變量的形式來表示的話,需要用到強制類型的轉換,因為list。get()方法是object的類里的
System.out.println(list.isEmpty());
//false
//list.clear();
//System.out.println(list.isEmpty());
//true
//System.out.println(list.remove(2));//輸出制定索引的 被“刪除的元素”
list.remove(1);//刪除索引為“1” 的元素
System.out.println(list);//[double kill, four kill, pentakill],刪除了索引為“1”的元素
System.out.println(list.indexOf("double kill"));//0 輸出所指明字符串的 “索引值”
System.out.println(list.size());// 3 ,返回數(shù)組的長度
Object[] obj = list.toArray();
System.out.println(obj.length);
//數(shù)組的遍歷 for 循環(huán)
for (int i = 0;i < list.size();i++)
{
System.out.print(list.get(i)+" ");
}
System.out.println();
//使用for each 語句
for (Object x:list)
{
System.out.print(x+" ");
}
System.out.println();
//使用迭代器
//1.先獲得list集合的迭代器
Iterator iterator = list.iterator();
//2.通過它的hasNest方法,判斷是否遍歷完成,用循環(huán)實現(xiàn)
while (iterator.hasNext() == true)
{
//3.使用next方法,去除它的下一個元素
System.out.print(iterator.next()+" ");
}
System.out.println();
}
}
//再寫上迭代器的說明
//加上arraylist 和 linbkedlist的區(qū)別 和代碼
//加上后面的幾個方法
實現(xiàn)類LinkedList
List 接口的鏈接列表實現(xiàn),實現(xiàn)所有可選的列表操作,并且允許所有元素(包括null)。除了實現(xiàn)List接口外,LinkedList類還為在列表的開頭及結尾get,remove,insert元素提供了統(tǒng)一的命名方法。這些操作允許將鏈表列表表應作堆棧、隊列、或雙端隊列。
LinkedList的部分方法
| 方法名 | 功能說明 | |
|---|---|---|
| addFirst(E e) | 將指定元素插入此列表的開頭 | |
| addLast(E e) | 將指定元素添加到此列表的結尾 | |
| removeFirst() | 移除并返回此列表的第一個元素 | |
| removeLast() | 移除并返回此列表的最后一個元素 | |
| getFirst() | 返回此列表中的第一個元素 | |
| getLast() | 返回此列表中的最后一個元素 |
package yjlblog;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class Test {
public static void main(String[] args) {
List list = new LinkedList();//List 是接口,用多態(tài)需要指向它的實現(xiàn)類
list.add("double kill");
list.add("three kill");
list.add("four kill");
list.add("pentakill");
System.out.println(list); //[double kill, three kill, four kill, pentakill]
//和ArrayList 的其他方法都是一樣的,只是加了一些方法
集合的遍歷
從上面的例子中也有所提及,下面看代碼
使用for 循環(huán)
使用for -each 循環(huán)
使用Iterator(迭代器)接口
每個集合類都提供了iterator方法以返回一個迭代器,通過這個迭代器,可以完成集合的遍歷或刪除操作,迭代器的使用步驟如下:
****
1.通過Iterator方法獲得集合的迭代器
2.通過調用hasNext 方法判斷是否存在下一個元素
3.使用next方法,去除它的下一個元素
//數(shù)組的遍歷 for 循環(huán)
for (int i = 0;i < list.size();i++)
{
System.out.print(list.get(i)+" ");
}
System.out.println();
//使用for each 語句
for (Object x:list)
{
System.out.print(x+" ");
}
System.out.println();
//使用迭代器
//1.先獲得list集合的迭代器
Iterator iterator = list.iterator();
//2.通過它的hasNest方法,判斷是否遍歷完成,用循環(huán)實現(xiàn)
while (iterator.hasNext() == true)
{
//3.使用next方法,去除它的下一個元素
System.out.print(iterator.next()+" ");
}
System.out.println();
以上這篇java 集合之實現(xiàn)類ArrayList和LinkedList的方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
spring boot 下對JSON返回值去除null和空字段操作
這篇文章主要介紹了spring boot 下對JSON返回值去除null和空字段操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-10-10
synchronized?和?Lock?的異同點(如何讓選擇)
這篇文章主要介紹了?synchronized和Lock的異同點(如何讓選擇),文章圍繞主題展開詳細的內容介紹,具有一定的參考價值,需要的小伙伴可以參考一下2022-09-09
spring+Jpa多數(shù)據(jù)源配置的方法示例
這篇文章主要介紹了spring+Jpa多數(shù)據(jù)源配置的方法示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-08-08
帶有@Transactional和@Async的循環(huán)依賴問題的解決
這篇文章主要介紹了帶有@Transactional和@Async的循環(huán)依賴問題的解決,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-04-04

