Sunday 15 January 2012

java - Comparing the same list without redundancy -


मेरे पास यह कोड है

  सार्वजनिक शून्य अद्यतन (सूची & lt; GameObject & gt; ऑब्जेक्ट्स) {for (गेम ऑब्जेक्ट ऑब्जेक्ट 1: ऑब्जेक्ट्स) (गेम ऑब्जेक्ट ऑब्जेक्ट 2: ऑब्जेक्ट्स) (यदि (! ऑब्जेक्ट 1। एंगल्स (ऑब्जेक्ट 2)) object1.collisionHandling (object2); }}  

मुझे सभी वस्तुओं की तुलना करने की आवश्यकता है, लेकिन मैं स्पष्ट रूप से प्रत्येक सूची आइटम को खुद से तुलना नहीं करना चाहता हूं; तो मद 1 और आइटम 1 और मैं भी 3 के साथ मद 2 की तुलना नहीं करना चाहता और फिर 2 के साथ अगले लूप 3 पर आदि। अधिकांश उदाहरण (i = 0, i & lt; 5, i ++) के लिए संख्याबद्ध एरेज़ का उपयोग करते हैं। लेकिन मेरे पास एक सूची है मैं इस कोड को और अधिक कुशल बनाने के बारे में कैसे जाना होगा?


संपादित करें: अब मैं लूप पर एक ही आइटम को अनदेखा कर सकता हूं, बस सममित तुलना को रोकने की आवश्यकता है। 2-3, 3-2 इत्यादि।

ऐसा त्रिकोणीय तुलना करने का मानक तरीका है: < / P>

  के लिए (int indexI = 0; indexI & lt; objects.size (); indexI ++) {गेम ऑब्जेक्ट object1 = objects.get (indexI); (इंट इंडेक्सजे = इंडेक्सआई + 1; इंडेक्सजे एंड एलटी; ऑब्जेक्टस्कीज़ (); इंडेक्सजे ++) {गेम ऑब्जेक्ट ऑब्जेक्ट 2 = ऑब्जेक्ट्स.जेट (इंडेक्सजे); object1.collisionHandling (object2); }}  

ध्यान दें कि indexJ सूचकांक + 1 से आकार ()।


No comments:

Post a Comment