程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> Java ArrayList 數組之間互相轉換

Java ArrayList 數組之間互相轉換

編輯:關於JAVA

Java ArrayList 數組之間互相轉換。本站提示廣大學習愛好者:(Java ArrayList 數組之間互相轉換)文章只能為提供參考,不一定能成為您想要的結果。以下是Java ArrayList 數組之間互相轉換正文


做研發的同伙都曉得,在項目開辟中常常會碰著list與數組類型之間的互相轉換,本文經由過程一個簡略的例子給年夜家講授具有轉換進程。 

Java代碼

package test.test1; 
import java.util.ArrayList; 
import java.util.List; 
public class Test { 
  /** 
   * @param args 
   */ 
  public static void main(String[] args) { 
    List list=new ArrayList(); 
    list.add("王利虎"); 
    list.add("張三"); 
    list.add("李四"); 
    int size=list.size(); 
    String[] array=new String[size]; 
    for(int i=0;i<list.size();i++){ 
      array[i]=(String)list.get(i); 
    } 
    for(int i=0;i<array.length;i++){ 
      System.out.println(array[i]); 
    } 
  } 
} 

正如下面所羅列的,當要將ArrayList類型的數據轉換為String[]的時刻,必需對List類型停止遍歷,其實沒有這類需要,List供給給我們一個很好的辦法處理List轉換成為數組的成績,不防再看一個例子:

package test.test1; 
import java.util.ArrayList; 
import java.util.List; 

Java代碼

public class Test { 
  public static void main(String[] args) { 
    List<String> list=new ArrayList<String>(); 
    list.add("王利虎"); 
    list.add("張三"); 
    list.add("李四"); 
    int size=list.size(); 
    String[] array = (String[])list.toArray(new String[size]); 
    for(int i=0;i<array.length;i++){ 
      System.out.println(array[i]); 
    } 
  } 
} 

你能否發明這才是你想要的呢?其實很簡略,ArrayList供給public <T> T[] toArray(T[] a)辦法前往一個依照准確的次序包括此列表中一切元素的數組;前往數組的運轉時類型就是指定命組的運轉時類型。假如列表能放入指定的數組,則前往放入此列表元素的數組。不然,將依據指定命組的運轉時類型和此列表的年夜小分派一個新的數組。

假如指定的數組能包容列表並有殘剩空間(即數組的元素比列表的多),那末會將數組中緊跟在聚集末尾的元素設置為 null。這對肯定列表的長度很有效,但只 在挪用方曉得列表中不包括任何 null 元素時才有效。

    那末又怎樣將數組轉換成為List呢?不防再看一個小小的例子,以下所示:

Java代碼 

package test.test1; 
import java.util.ArrayList; 
import java.util.List; 
public class Test { 
  public static void main(String[] args) { 
    String[] array=new String[3]; 
    array[0]="王利虎"; 
    array[1]="張三"; 
    array[2]="李四"; 
    List<String> list=new ArrayList<String>(); 
    for(int i=0;i<array.length;i++){ 
      list.add(array[i]); 
    } 
    for(int i=0;i<list.size();i++){ 
      System.out.println(list.get(i)); 
    } 
  } 
} 

你是不發明很費事啊?其實數組轉換成為List的成績Arrays對象也供給給我們public static <T> List<T> asList(T... a)供我們挪用, 試運轉上面的例子:

package test.test1; 
import java.util.Arrays; 
import java.util.List; 
public class Test { 
  public static void main(String[] args) { 
    String[] array=new String[3]; 
    array[0]="王利虎"; 
    array[1]="張三"; 
    array[2]="李四"; 
    List<String> list=Arrays.asList(array); 
    for(int i=0;i<list.size();i++){ 
      System.out.println(list.get(i)); 
    } 
  } 
} 

    簡略吧,asList辦法前往一個受指定命組支撐的固定年夜小的列表,此辦法同 Collection.toArray 一路,充任了基於數組的 API 與基於 collection 的 API 之間的橋梁。前往的列表是可序列化的,而且完成了 RandomAccess。除此以外, 此辦法還供給了一個創立固定長度的列表的便捷辦法,該列表被初始化為包括多個元素: 

package test.test1; 
import java.util.Arrays; 
import java.util.List; 
public class Test1 { 
  public static void main(String[] args) { 
    List<String> list = Arrays.asList("王利虎","張三","李四"); 
    for(int i=0;i<list.size();i++){ 
      System.out.println(list.get(i)); 
    } 
  } 
} 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved