在 java 中使用 Entry 接口而不是迭代 HashMap class 对象

Use of Entry interface in java other than iterating over HashMap class objects

Entry 接口用于在 entrySet() 和 keySet() 方法的帮助下迭代 HashMap、LinkedHashMap 和 TreeMap classes 对象。

Entry接口还有其他用途吗?

有没有实现 Entry 接口的 class 可以用来代替 Pair class (javafx.util.Pair) 来存储配对值?

Map.Entry

Map interface has a nested interface, Map.Entry。此接口包含一对对象,映射中每个条目的键和值。

Java 捆绑了两种具体实现,一种是可变的,一种是不可变的,都嵌套在 AbstractMap.

那些具体的 classes 确实被一些人用作 class 作为一般配对使用,不涉及任何地图。 javafx.util.Pair.

同上

通常最好定义您自己的 class,并根据您的问题域的上下文明确命名。

record

对于 Java 16 及更高版本中的不可变配对,请使用 records 功能。您只需要声明成员字段的类型和名称。编译器隐式创建构造函数、getter、equals & hashCodetoString.

将自定义 class 定义为记录可以非常轻松地简明地定义您自己的对。

record Point ( int x , int y ) {}
record Coordinate( double latitude , double longitude ) {}
record Pixel( int horizontal , int vertical ) {}
record Assignment( UUID employeeId , String projectName ) {}

请注意,您可以在本地、方法内、嵌套或单独声明记录。 Java 16+.

中的枚举和接口同上