首頁  >  文章  >  Java  >  Java集合之實作類別ArrayList與LinkedList的方法

Java集合之實作類別ArrayList與LinkedList的方法

黄舟
黄舟原創
2017-10-20 10:07:512448瀏覽

下面小編就為大家帶來一篇java 集合之實作類別ArrayList和LinkedList的方法。小編覺得蠻不錯的,現在就分享給大家,也給大家做個參考。一起跟著小編過來看看吧

List 的方法清單

方法名稱 功能說明
#ArrayList() 建構方法,用來建立一個空的陣列列表
add(E e) 將指定的元素新增至此清單的尾部
get(int index) 傳回此清單中指定位置上的元素
size() 傳回此清單中的元素數
clear() 移除此清單中的所有元素
isEmpty() 如果此清單中沒有元素,則傳回true
remove(int index) 移除此清單中指定位置上的元素
indextof(Object o) 傳回此清單中首次出現的指定元素的索引,或者如果此清單不包含元素,則傳回-1
toArray 以適當順序(從第一個到最後一個元素)傳回包含此清單中所有元素的陣列

以下將用一個簡單的範例來說明:

實作類別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 是接口,用多态需要指向它的实现类
  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 ,返回数组的长度
  
  Object[] obj = list.toArray();
  System.out.println(obj.length);
  //数组的遍历 for 循环
  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方法,判断是否遍历完成,用循环实现
  while (iterator.hasNext() == true)
  {
  //3.使用next方法,去除它的下一个元素
   System.out.print(iterator.next()+" ");
   
  }
  System.out.println();
   
  
  
 }

}
//再写上迭代器的说明
//加上arraylist 和 linbkedlist的区别 和代码
//加上后面的几个方法

實作類別LinkedList

List 介面的連結清單實現,實作所有可選的清單操作,並​​且允許所有元素(包括null)。除了實作List介面外,LinkedList類別也為在列表的開頭及結尾get,remove,insert元素提供了統一的命名方法。這些操作允許將鍊錶清單表應作堆疊、佇列、或雙端佇列。

LinkedList的部分方法

##addLast(E e)將指定元素新增至此清單的結尾removeFirst()移除並傳回此清單的第一個元素#removeLast()移除並傳回此清單的最後一個元素getFirst()傳回此清單中的第一個元素getLast()傳回此清單中的最後一個元素
方法名稱 功能說明
addFirst(E e) 將指定元素插入此清單的開頭






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 是接口,用多态需要指向它的实现类
  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 迴圈

使用for -each 迴圈

使用Iterator(迭代器)介面

每個集合類別都提供了iterator方法以傳回一個迭代器,透過這個迭代器,可以完成集合的遍歷或刪除操作,迭代器的使用步驟如下:

****

1.透過Iterator方法得到集合的迭代器

2.透過呼叫hasNext 方法判斷是否存在下一個元素

3.使用next方法,移除它的下一個元素


//数组的遍历 for 循环
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方法,判断是否遍历完成,用循环实现
while (iterator.hasNext() == true)
{
//3.使用next方法,去除它的下一个元素
 System.out.print(iterator.next()+" ");
 
}
System.out.println();

以上是Java集合之實作類別ArrayList與LinkedList的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn