JavaTuples - Chuyển đổi
Tuple đến danh sách / mảng
Một tuple có thể được chuyển đổi thành Danh sách / Mảng nhưng với chi phí là an toàn kiểu và danh sách được chuyển đổi thuộc kiểu Danh sách <Đối tượng> / Đối tượng [].
List<Object> list = triplet.toList();
Object[] array = triplet.toArray();
Bộ sưu tập / Mảng sang Tuple
Một tập hợp có thể được chuyển đổi thành tuple bằng phương thức fromCollection () và mảng có thể được chuyển đổi thành tuple bằng phương thức fromArray ().
Pair<String, Integer> pair = Pair.fromCollection(list);
Quartet<String,String,String,String> quartet = Quartet.fromArray(array);
Nếu kích thước của mảng / bộ sưu tập khác với kích thước của tuple, thì IllegalArgumentException sẽ xảy ra.
Exception in thread "main" java.lang.IllegalArgumentException:
Array must have exactly 4 elements in order to create a Quartet. Size is 5
at ...
Thí dụ
Hãy xem JavaTuples hoạt động. Ở đây chúng ta sẽ xem cách chuyển đổi tuple thành list / array và ngược lại.
Tạo tệp lớp java có tên TupleTester trong C:\>JavaTuples.
Tệp: 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
Biên dịch các lớp bằng cách sử dụng javac trình biên dịch như sau -
C:\JavaTuples>javac -cp javatuples-1.2.jar ./com/tutorialspoint/TupleTester.java
Bây giờ hãy chạy TupleTester để xem kết quả -
C:\JavaTuples>java -cp .;javatuples-1.2.jar com.tutorialspoint.TupleTester
Đầu ra
Xác minh đầu ra
Triplet:[Test1, 5, Test2]
List: [Test1, 5, Test2]
Test1 5 Test2
Quartet:[a, b, c, d]