Bạn không muốn sử dụng Mục nhập là giao diện, không phải là CLASS. Giao diện đó được sử dụng bởi việc triển khai Set khi bạn gọi đến mục nhậpSet() trên một lớp thực hiện Bản đồ. Về cơ bản nó cho phép bạn thao tác với Map được thực hiện như thể nó là một Set.
Bạn sẽ làm gì (nhưng không thể) là điều này. Nếu bạn cố gắng làm điều này bạn sẽ thấy một lỗi trình biên dịch dọc theo dòng "Không thể khởi tạo kiểu Map.Entry". Đó là vì Map.Entry là một giao diện chứ không phải là một lớp. Một giao diện không chứa bất kỳ mã thực nào, do đó không có hàm tạo thực nào để chạy ở đây.
Entry<Double, Double> pair = new Entry<Double, Double>();
Nếu bạn nhìn vào các tài liệu bên dưới, bạn có thể thấy rõ ràng ở trên cùng rằng đó là "Giao diện bản đồ.Entry" có nghĩa là giao diện. http://docs.oracle.com/javase/1.4.2/docs/api/java/util/Map.Entry.html
Bạn nên làm gì thay vì cố gắng khởi tạo giao diện, điều không thể, là tạo lớp của riêng bạn gọi là Ghép nối. Một cái gì đó như thế này. Hãy nhớ thay đổi gói nếu bạn sử dụng mã bên dưới.
package org.mike.test;
public class Pair {
private double x = 0.0;
private double y = 0.0;
public Pair(double x, double y)
{
this.x = x;
this.y = y;
}
public Pair()
{
}
public double getX() {
return x;
}
public void setX(double x) {
this.x = x;
}
public double getY() {
return y;
}
public void setY(double y) {
this.y = y;
}
}
Sau khi viết lớp Pair, mã của bạn giờ sẽ trông như thế này.
package org.mike.test;
import java.util.ArrayList;
import org.mike.test.Pair; //You don't need this if the Pair class is in the same package as the class using it
public class tester {
/**
* @param args
*/
public static void main(String[] args) {
ArrayList<Pair> values = new ArrayList<Pair>();
Pair pair = new Pair();
// set pair values:
pair.setY(3.6);
pair.setX(3.6);
values.add(pair);
}
}
Nếu bạn không thể bị làm phiền, bạn luôn có thể thử: http://www.javatuples.org/ – Nim
Bản sao của http://stackoverflow.com/questions/521171/a-java-collection-of-value-pairs -tuples –