JavaTuples - การแปลง
Tuple to List / Array
ทูเปิลสามารถแปลงเป็น List / Array ได้ แต่ต้องเสียค่าใช้จ่ายของประเภทความปลอดภัยและรายการที่แปลงเป็นประเภท List <Object> / Object []
List<Object> list = triplet.toList();
Object[] array = triplet.toArray();
คอลเลกชัน / อาร์เรย์เพื่อทูเพิล
คอลเลกชันสามารถแปลงเป็นทูเปิลโดยใช้เมธอด fromCollection () และอาร์เรย์สามารถแปลงเป็นทูเปิลโดยใช้เมธอด fromArray ()
Pair<String, Integer> pair = Pair.fromCollection(list);
Quartet<String,String,String,String> quartet = Quartet.fromArray(array);
หากขนาดของอาร์เรย์ / คอลเลกชันแตกต่างจากทูเปิล IllegalArgumentException จะเกิดขึ้น
Exception in thread "main" java.lang.IllegalArgumentException:
Array must have exactly 4 elements in order to create a Quartet. Size is 5
at ...
ตัวอย่าง
มาดูการใช้งาน JavaTuples กัน ที่นี่เราจะดูวิธีการแปลงทูเปิลเป็นรายการ / อาร์เรย์และในทางกลับกัน
สร้างไฟล์คลาส java ชื่อ TupleTester ใน C:\>JavaTuples.
ไฟล์: TupleTester.java
package com.tutorialspoint;
import java.util.List;
import org.javatuples.Quartet;
import org.javatuples.Triplet;
public class TupleTester {
public static void main(String args[]){
Triplet<String, Integer, String> triplet = Triplet.with(
"Test1", Integer.valueOf(5), "Test2"
);
List<Object> list = triplet.toList();
Object[] array = triplet.toArray();
System.out.println("Triplet:" + triplet);
System.out.println("List: " + list);
System.out.println();
for(Object object: array) {
System.out.print(object + " " );
}
System.out.println();
String[] strArray = new String[] {"a", "b" , "c" , "d"};
Quartet<String, String, String, String> quartet = Quartet.fromArray(strArray);
System.out.println("Quartet:" + quartet);
}
}
Verify the result
รวบรวมคลาสโดยใช้ javac คอมไพเลอร์ดังนี้ -
C:\JavaTuples>javac -cp javatuples-1.2.jar ./com/tutorialspoint/TupleTester.java
ตอนนี้เรียกใช้ TupleTester เพื่อดูผลลัพธ์ -
C:\JavaTuples>java -cp .;javatuples-1.2.jar com.tutorialspoint.TupleTester
เอาต์พุต
ตรวจสอบผลลัพธ์
Triplet:[Test1, 5, Test2]
List: [Test1, 5, Test2]
Test1 5 Test2
Quartet:[a, b, c, d]