『壹』 java toarray 怎麼用
java中toArray正確用法有三種,toArray方法都需要帶參數,分別如下:
12345678910111213141516
public static String[] vectorToArray1(Vector<String> v) { String[] newText = new String[v.size()]; v.toArray(newText); return newText; } public static String[] vectorToArray2(Vector<String> v) { String[] newText = (String[])v.toArray(new String[0]); return newText; } public static String[] vectorToArray3(Vector<String> v) { String[] newText = new String[v.size()]; String[] newStrings = (String[])v.toArray(newText); return newStrings; }
『貳』 java裡面Iterator和toArray有什麼區別我看java api的collection裡面有這兩個方法
你好,你說的這兩個方法在該介面中都沒有實現。區別很明顯,實現該介面並覆寫這些方法的類,第一個方法返回的是iterator的對象,第二個方法返回的是一個數組。
『叄』 java .toArray()什麼意思
T[]
toArray(T[]
a)
返回包含此
collection
中所有元素的數組;返回數組的運行時類型與指定數組的運行時類型相同。如果指定的數組能容納該
collection,則返回包含此
collection
元素的數組。否則,將分配一個具有指定數組的運行時類型和此
collection
大小的新數組。
就是把集合group轉變為一個數組,其中元素類型為TagGroup
『肆』 java中Collection方法裡面的Object[] toArray() 和 <T> T[] toArray(T[] a)有什麼區別嗎
1、Object[] toArray() 是舊式的獲得對象數組的方法
調用格式為 Object []a=collecton.toArray() //前面類型必須為Object[]且不能被強制轉換
需要在遍歷Object a[]時,再強制轉換a[n]的類型。由於編譯器在語法上無法檢測到類型錯誤,容易出現類型使用不當。
在java5引入泛型之前,這是唯一的獲得對象數組的方法
2、<T> T[] toArray(T[] a)是Java5 引入泛型模板機制後的新調用方法。區別就是明確了類型。
如果Collection在創建時明確了類型,比如Collection<String>,
這里的方法也有了相應的類型。編譯器可以檢測到類型錯誤。
調用方法:
String a[];
collection.toArray(a);
就將collection的內容存入a數組中。這個方法安全,明確。
『伍』 關於java中的toArray()方法動態數組的運用
public class Process {
public String name;
public int a,b,c;
public Process() {
// TODO Auto-generated constructor stub
}
public Process(String name,int a,int b,int c){
this.name=name;
this.a=a;
this.b=b;
this.c=c;
}
public String getname(){
return name;
}
public void setname(String name){
this.name=name;
}
public String toString(){
return this.name+this.a+this.b+this.c;
}
}
import java.util.ArrayList;
import java.util.Arrays;
public class FCFS{
public static void FCFS(ArrayList<Process> list) {
Object []pr=list.toArray();
System.out.println("FCFS的調度結果是:");
for (int i = 0; i < pr.length; i++) {
System.out.print(((Process)pr[i]).getname()+" ");
}
}
public static void main(String[] args) {
ArrayList<Process> list=new ArrayList<Process>();
Process p0 = new Process("A",0,4,2);
Process p1 = new Process("B",1,3,6);
Process p2 = new Process("C",2,5,9);
Process p3 = new Process("D",3,2,4);
Process p4 = new Process("E",4,4,5);
list.add(p0);
list.add(p1);
list.add(p2);
list.add(p3);
list.add(p4);
FCFS(list);
}
}
或者改成:
public class Process {
public String name;
public int a,b,c;
public Process() {
// TODO Auto-generated constructor stub
}
public Process(String name,int a,int b,int c){
this.name=name;
this.a=a;
this.b=b;
this.c=c;
}
public String getname(){
return name;
}
public void setname(String name){
this.name=name;
}
public String toString(){
return this.name+this.a+this.b+this.c;
}
}
import java.util.ArrayList;
import java.util.Arrays;
public class FCFS{
public static void FCFS(ArrayList<Process[]> list) {
Process []p=(Process[])list.get(0);
System.out.println("FCFS的調度結果是:");
for (int i = 0; i < p.length; i++) {
System.out.print(p[i].getname()+" ");
}
}
public static void main(String[] args) {
ArrayList<Process[]> list=new ArrayList<Process[]>();
Process p[] = new Process[5];
p[0] = new Process("A",0,4,2);
p[1] = new Process("B",1,3,6);
p[2] = new Process("C",2,5,9);
p[3] = new Process("D",3,2,4);
p[4] = new Process("E",4,4,5);
list.add(p);
FCFS(list);
}
}
『陸』 java中ArrayList的toArray()方法 無法進行向下類型轉換
(String[])arraylist.toArray();
這種轉換方式是不被支持的。
強制轉換的直接作用對象是Object類型的,通常只能支持普通的類型對象轉化,
String[]包括兩層轉換,數組、String。多重轉換由於sun並沒有提出這種轉換的轉換類型先後順序,
這個會引起分歧,導致轉換失敗。例如:你是想先把arraylist.toArray()這個對象轉化為String,再把它轉化為String[]就會出現不同的轉換結果,這就是分歧的產生。
不懂了,還可以繼續Hi我。
『柒』 關於java中toArray的問題
Object[]
toArray()
按適當順序(從第一個到最後一個元素)返回包含此列表中所有元素的數組。
<T> T[]
toArray(T[] a)
按適當順序(從第一個到最後一個元素)返回包含此列表中所有元素的數組;返回數組的運行時類型是指定數組的運行時類型。
『捌』 java容器中toArray的用法
toArray()返回包含此 collection 中所有元素的數組。
c1.toArray()返回的是一個Object類型的數組,即Object[]
你的這段代碼
for(int i=0;i<x.length;i++){
System.out.println(c1.toArray());
}
System.out.println(c1.toArray());等效於System.out.println(c1.toArray().toString());列印的是數組對象的字元串表示形式,不是你說的哈希碼