स्ट्रिंग (इंडेक्स) की तुलना [डुप्लिकेट]

Jan 12 2021

उदाहरण के लिए सटीक सूचकांक के साथ दो सरणियों की तुलना कैसे करें

String[] test1 = {"a","b","c","d"};
String[] test2 = {"a","b","c",""};

मैंने यह कोशिश की

for (int i = 0; i < test1.length; i++) {
for (int j =  i; j < test2.length; j++) if (i==j)  if (i == j && test2[j] == "" ) {do stuff}
} 

// but always give true

अब अगर test1 के लिए index 0 पर तुलना शुरू होती है, तो इसे test2 के लिए index 0 के साथ ही तुलना की जानी चाहिए। मैं खाली इंडेक्स (उदाहरण के लिए test2 के लिए इंडेक्स 3 जो test1 index 3 से संबंधित है) को ढूंढना चाहता हूं और कुछ सामान करना चाहता हूं

मैं बहुत कुछ पढ़ता हूं लेकिन मुझे कुछ कठिनाइयां हैं, अग्रिम धन्यवाद।

जवाब

Pieter12345 Jan 12 2021 at 22:04

जो मैं समझता हूं, आप दो सरणियों की तुलना करना चाहते हैं जो समान आकार नहीं हो सकती हैं, और यदि वे नहीं हैं, तो केवल सबसे छोटे आकार तक की तुलना करें? आप ऐसा कुछ कर सकते हैं:

boolean equals = true;
for(int i = 0; i < test1.length && i < test2.length; i++) {
    if(!test1[i].equals(test2[i])) {
        equals = false;
        break;
    }
}
Spectric Jan 12 2021 at 22:02

.equals()स्ट्रिंग्स की तुलना करने के लिए उपयोग करें। ==का उपयोग प्राथमिकताओं की तुलना करने के लिए किया जाता है।

इसके लिए 2 छोरों की भी आवश्यकता नहीं है।

for(int i = 0; i < test1.length; i++){
    if(test1[i].equals("")||test2[i].equals(""){
        //Do something
    }
}
pabloespinosa12 Jan 12 2021 at 22:03

जब आप जावा में स्ट्रिंग्स की तुलना कर रहे हैं तो आपको वस्तुओं का उपयोग करना चाहिए क्योंकि वे ऑब्जेक्ट हैं। इसके अलावा, दो छोरों का कोई मतलब नहीं है। बस यह प्रयास करें:

for (int i = 0; i < test1.length; i++) {
    if (test2[i].equals("") ) {do stuff}
}
NehaK Jan 12 2021 at 22:52

Arrays.java के deepEquals () का उपयोग करें:

  import java.util.Arrays;

  String[][] s1 =
        {
            {"A", "B", "C"},
            {"X", "Y", "Z"}
        };
 
 String[][] s2 =
        {
            {"A", "B", "C"},
            {"X", "Y", "Z"}
        };
 
 System.out.println("deepEquals() returns " + Arrays.deepEquals(s1, s2));

आउटपुट: deepEquals () सही है