का उपयोग करके केवल एक तत्व मौजूद है या नहीं, हाल ही में मुझे संग्रह में केवल एक तत्व मौजूद होने पर 'विशेष मामला' परिदृश्य करने की आवश्यकता थी। ...size() == 1
के लिए जांच की जा रही है और ...iterator.next()
का उपयोग करके पुन: प्राप्त करने लग रहा था बदसूरत तो मैं बना लिया है घर काढ़ा संग्रह कक्षा में दो तरीकों:जांचें कि क्या Guava
public class Collections {
public static <T> boolean isSingleValue(Collection<T> values) {
return values.size() == 1;
}
public static <T> T singleValue(Collection<T> values) {
Assert.isTrue(isSingleValue(values));
return values.iterator().next();
}
}
कुछ दिन पहले मुझे पता चला अमरूद Iterables.getOnlyElement कहा जाता विधि है। इसमें मेरी ज़रूरत है और singleValue
को प्रतिस्थापित करता है, लेकिन मुझे isSingleValue
के लिए मिलान नहीं मिल रहा है। क्या यह डिजाइन द्वारा है? क्या Iterables.isOnlyElement
विधि रखने के लिए सुविधा अनुरोध रखना उचित है?
संपादित करें: के बाद से वहाँ कुछ upvotes मैं अमरूद पर वृद्धि खोलने का निर्णय लिया थे - issue 957। अंतिम संकल्प - 'वोंटफिक्स'। तर्क थॉमस/ज़ैरेक्सिस द्वारा प्रदान किए जाने वाले समान ही हैं।
यह स्पष्ट नहीं है, क्या करता है "मैं हल करने के लिए हूँ" क्या मतलब है? क्या आप कह रहे हैं कि यह एक समाधान है, या आप समस्या पर काम कर रहे हैं? –
यह मेरे लिए समाधान है। – Falci