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]
//默認調(diào)用的是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.通過調(diào)用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的方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
mybatis-plus?查詢傳入?yún)?shù)Map,返回List<Map>方式
這篇文章主要介紹了mybatis-plus?查詢傳入?yún)?shù)Map,返回List<Map>方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-12-12
SpringBoot獲取當前運行環(huán)境三種方式小結
在使用SpringBoot過程中,我們只需要引入相關依賴,然后在main方法中調(diào)用SpringBootApplication.run(應用程序啟動類.class)方法即可,那么SpringBoot是如何獲取當前運行環(huán)境呢,接下來由小編給大家介紹一下SpringBoot獲取當前運行環(huán)境三種方式,需要的朋友可以參考下2024-01-01
在這篇文章中給大家繼續(xù)講解包裝類的裝箱和拆箱問題。你可能會很好奇,做java開發(fā),怎么還裝起箱子來了?那么就請大家?guī)е苫笸驴窗?/div> 2023-04-04
詳解Java Fibonacci Search斐波那契搜索算法代碼實現(xiàn)
這篇文章主要介紹了詳解Java Fibonacci Search斐波那契搜索算法代碼實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-10-10
如何用注解的方式實現(xiàn)Mybatis插入數(shù)據(jù)時返回自增的主鍵Id
這篇文章主要介紹了如何用注解的方式實現(xiàn)Mybatis插入數(shù)據(jù)時返回自增的主鍵Id,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-07-07
SpringBoot整合SpringSecurity實現(xiàn)JWT認證的項目實踐
本文會通過創(chuàng)建SpringBoot項目整合SpringSecurity,實現(xiàn)完整的JWT認證機制,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2022-07-07最新評論

