JavaTuples - คลาสคู่

บทนำ

org.javatuples.Pair คลาสแทนทูเพิลที่มีสององค์ประกอบ

การประกาศคลาส

ต่อไปนี้เป็นคำประกาศสำหรับ org.javatuples.Pair ชั้นเรียน -

public final class Pair<A,B>
   extends Tuple
      implements IValue0<A>, IValue1<B>

ตัวสร้างคลาส

ซีเนียร์ ตัวสร้างและคำอธิบาย
1

Pair(A value0, B value1)

สิ่งนี้จะสร้างคู่ทูเพิล

วิธีการเรียน

setAt1 () ในทำนองเดียวกันตั้งค่าที่ดัชนี 1

ซีเนียร์ วิธีการและคำอธิบาย
1

Triplet add(Unit tuple)

วิธีนี้จะคืนค่า Triplet tuple

วิธีการอื่น ๆ ในการเพิ่ม tuples นั้นมีให้ใช้งานเช่น add (Pair tuple) ส่งคืน Quartet และ upto add (Octet tuple) จะส่งคืน Decade tuple

2

Triplet add(X0 value)

วิธีนี้จะเพิ่มค่าให้กับทูเปิลและส่งคืนค่า Triplet tuple

ในทำนองเดียวกันวิธีการอื่น ๆ ในการเพิ่มค่าสามารถใช้ได้เช่น add (X0 value0, X1 value1) ส่งคืน Quartet และอื่น ๆ ไม่เกิน add () ด้วยพารามิเตอร์แปดตัว

3

Triplet addAt0(Unit value)

วิธีนี้จะเพิ่ม Unit tuple ที่ดัชนี 0 และส่งกลับ Triplet tuple

วิธีการอื่น ๆ ในการเพิ่ม tuples ก็มีเช่น addAt0 (Pair value) ส่งคืน Quartet และอื่น ๆ จนถึง addAt0 (Octet) วิธีอื่นที่คล้ายคลึงกันคือ addAt1 (ค่าหน่วย) ซึ่งเพิ่มหน่วยที่ดัชนี 0 และมีวิธีการที่คล้ายกันจนถึง addAt2 (Octet)

4

Triplet addAt0(X0 value)

วิธีนี้จะเพิ่มค่าที่ดัชนี 0 และส่งกลับ Triplet tuple

ในทำนองเดียวกันวิธีการอื่น ๆ ในการเพิ่มค่าสามารถใช้ได้เช่น addAt0 (X0 value0, X1 value1) ส่งคืน Quartet และอื่น ๆ จนถึง addAt0 () ด้วยพารามิเตอร์แปดตัว วิธีอื่นที่คล้ายคลึงกันคือ addAt1 (ค่า X0) ซึ่งเพิ่มค่าที่ดัชนี 0 และมีวิธีการที่คล้ายกันจนถึง addAt2 () ที่มีพารามิเตอร์แปดตัว

5

static <X> Pair<X,X> fromArray(X[] array)

สร้างทูเพิลจากอาร์เรย์

6

static <X> Pair<X,X> fromCollection(Collection<X> collection)

สร้างทูเพิลจากคอลเลกชัน

7

static <X> Pair<X,X> fromIterable(Iterable<X> iterable)

สร้างทูเปิลจากการทำซ้ำ

8

static <X> Pair<X,X> fromIterable(Iterable<X> iterable, int index)

สร้างทูเพิลจากการทำซ้ำได้โดยเริ่มจากดัชนีที่ระบุ

9

int getSize()

ส่งคืนขนาดของทูเปิล

10

A getValue0()

ส่งคืนค่าทูเปิลที่ดัชนี 0

ในทำนองเดียวกัน getValue1 () ส่งคืนค่าที่ดัชนี 1

11

Unit<B> removeFrom0()

ส่งคืนทูเปิลหลังจากลบค่าทูเปิลที่ดัชนี 0

ในทำนองเดียวกัน removeFrom1 () ส่งคืนทูเปิลหลังจากลบค่าของทูเปิลที่ดัชนี 1

12

<X> Pair<X,B> setAt0(X value)

กำหนดค่าของทูเปิลที่ดัชนี 0

13

static <A,B> Pair<A,B> with(A value0, B value1)

สร้างทูเพิลโดยใช้ค่าที่กำหนด

วิธีการสืบทอด

คลาสนี้สืบทอดวิธีการจากคลาสต่อไปนี้ -

  • org.javatuples.Tuple

  • Object

ตัวอย่าง

มาดูการทำงานของ Pair Class กัน ที่นี่เราจะดูวิธีใช้วิธีต่างๆ

สร้างไฟล์คลาส java ชื่อ TupleTester ใน C:\>JavaTuples.

ไฟล์: TupleTester.java

package com.tutorialspoint;
import java.util.ArrayList;
import java.util.List;
import org.javatuples.Pair;
import org.javatuples.Triplet;
import org.javatuples.Unit;

public class TupleTester {
   public static void main(String args[]){
      Pair<Integer, Integer> pair = Pair.with(5,6);
      System.out.println(pair);
      boolean isPresent = pair.contains(5);
      System.out.println("5 is present: " + isPresent);
      List<Integer> list = new ArrayList<>();
      list.add(1);
      list.add(2);
      Triplet<Integer,Integer, String> triplet = pair.add("Test");
      System.out.println(triplet);
      Integer value = pair.getValue0();
      System.out.println(value);
      Unit<Integer> unit = pair.removeFrom0();
      System.out.println(unit);
      Pair<Integer, Integer> pair1 = Pair.fromCollection(list);   
      System.out.println(pair1);
   }
}

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

เอาต์พุต

ตรวจสอบผลลัพธ์

[5, 6]
5 is present: true
[5, 6, Test]
5
[6]
[1, 2]