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

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

王林
Freigeben: 2023-05-18 19:58:04
nach vorne
1450 Leute haben es durchsucht

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);
}
Nach dem Login kopieren
. 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();
    ...
}
Nach dem Login kopieren

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);
}
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:yisu.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage