Heim  >  Artikel  >  Java  >  So verwenden Sie Pair in Java, um gepaarte Ergebnisse zurückzugeben

So verwenden Sie Pair in Java, um gepaarte Ergebnisse zurückzugeben

王林
王林nach vorne
2023-05-18 19:58:041422Durchsuche

Verwenden Sie Pair, um gepaarte Ergebnisse zurückzugeben

In der C/C++-Sprache ist Pair (Paar) ein Container, der zwei Datentypen in einem Datentyp kombiniert, z. B. std::pair.

Paar hat zwei Hauptverwendungszwecke:

  1. Zusammenfügen von Schlüssel und Wert für die Paarverarbeitung, hauptsächlich zur Rückgabe von Name-Wert-Paaren in Map, z. B. der Entry-Klasse in Map;

  2. Wenn eine Funktion zurückgegeben werden muss Wenn es zwei Ergebnisse gibt, können Sie Pair verwenden, um zu vermeiden, dass zu viele Datenmodellklassen definiert werden.

Die erste Verwendung ist häufiger, hier erklären wir hauptsächlich die zweite Verwendung.

1. Definieren Sie die Modellklasse, um die Rückgabe gepaarter Ergebnisse zu implementieren. Funktionsimplementierungscode:

/** 点和距离类 */@Setter@Getter@ToString@AllArgsConstructorpublic static class PointAndDistance {    /** 点 */
    private Point point;    /** 距离 */
    private Double distance;
}/** 获取最近点和距离 */public static PointAndDistance getNearestPointAndDistance(Point point, Point[] points) {    // 检查点数组为空
    if (ArrayUtils.isEmpty(points)) {        return null;
    }    // 获取最近点和距离
    Point nearestPoint = points[0];    double nearestDistance = getDistance(point, points[0]);    for (int i = 1; i < points.length; i++) {        double distance = getDistance(point, point[i]);        if (distance < nearestDistance) {
            nearestDistance = distance;
            nearestPoint = point[i];
        }
    }    // 返回最近点和距离
    return new PointAndDistance(nearestPoint, nearestDistance);
}
. 2. Verwenden Sie die Pair-Klasse, um die Rückgabe gepaarter Ergebnisse zu implementieren. Da es keine native Pair-Datenstruktur gibt, können Sie stattdessen auch Map::Entry verwenden. Die Pair-Klasse im commons-lang3-Paket von Apache ist jedoch einfacher zu verwenden. Im Folgenden wird die Pair-Klasse als Beispiel verwendet.

Funktionsimplementierungscode:

Point point = ...;
Point[] points = ...;
PointAndDistance pointAndDistance = getNearestPointAndDistance(point, points);if (Objects.nonNull(pointAndDistance)) {
    Point point = pointAndDistance.getPoint();
    Double distance = pointAndDistance.getDistance();
    ...
}

Funktionsanwendungsfall:

/** 获取最近点和距离 */public static Pair<Point, Double> getNearestPointAndDistance(Point point, Point[] points) {    // 检查点数组为空
    if (ArrayUtils.isEmpty(points)) {        return null;
    }    // 获取最近点和距离
    Point nearestPoint = points[0];    double nearestDistance = getDistance(point, points[0]);    for (int i = 1; i < points.length; i++) {        double distance = getDistance(point, point[i]);        if (distance < nearestDistance) {
            nearestDistance = distance;
            nearestPoint = point[i];
        }
    }    // 返回最近点和距离
    return Pair.of(nearestPoint, nearestDistance);
}

Das obige ist der detaillierte Inhalt vonSo verwenden Sie Pair in Java, um gepaarte Ergebnisse zurückzugeben. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen