आप प्रवेश का उपयोग नहीं करना चाहते हैं यह एक इंटरफेस है, क्लास नहीं। उस इंटरफ़ेस का उपयोग सेट के कार्यान्वयन द्वारा किया जाता है जब आप एंटसेटसेट() को उस क्लास पर कॉल करते हैं जो मानचित्र लागू करता है। यह मूल रूप से आपको लागू मानचित्र में हेरफेर करने देता है जैसे कि यह एक सेट था।
आप क्या करेंगे (लेकिन नहीं कर सकते) यह है। यदि आप ऐसा करने का प्रयास करते हैं तो आपको "Map.Entry टाइप प्रकार को तत्काल नहीं कर सकता" के साथ एक कंपाइलर त्रुटि दिखाई देगी। ऐसा इसलिए है क्योंकि Map.Entry एक इंटरफ़ेस है, कक्षा नहीं। एक इंटरफ़ेस में कोई वास्तविक कोड नहीं होता है, इसलिए यहां चलाने के लिए कोई वास्तविक निर्माता नहीं है।
Entry<Double, Double> pair = new Entry<Double, Double>();
आप नीचे दिए गए डॉक्स आप स्पष्ट रूप से शीर्ष कि यह एक "इंटरफेस Map.Entry" है जो इसे एक इंटरफेस का मतलब पर देख सकते हैं देखें। http://docs.oracle.com/javase/1.4.2/docs/api/java/util/Map.Entry.html
इंटरफ़ेस को तुरंत चालू करने की कोशिश करने के बजाय आपको क्या करना चाहिए, जो असंभव है, जो आपकी खुद की कक्षा को जोड़े कहा जाता है। कुछ इस तरह। यदि आप नीचे दिए गए कोड का उपयोग करते हैं तो पैकेज को बदलना याद रखें।
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;
}
}
अपने जोड़ी वर्ग लिखने के बाद अपने कोड अब इस तरह दिखेगा।
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);
}
}
यदि आपको परेशान नहीं किया जा सकता है, तो आप हमेशा कोशिश कर सकते हैं: http://www.javatuples.org/ – Nim
http://stackoverflow.com/questions/521171/a-java-collection-of-value-pairs का डुप्लिकेट -टूप्स –