हैलो मैं जावा के साथ सेलेनियम का उपयोग कर रहा हूँ। मुझे सूचियों की तुलना करनी है और अंतर वापस करना है। ये मान जो मैं डेटाबेस से ला रहा हूं

सूची ए में आईडी और आयकर है, सूची बी में आईडी और आयकर है।

मैं सूची ए आईडी की सूची बी आईडी के साथ तुलना करना चाहता हूं और सूची बी आयकर के साथ एक आयकर सूचीबद्ध करना चाहता हूं। तुलना के बाद मैं अंतर वापस करना चाहता हूं। i, e

उदाहरण: यदि सूची ए में आईडीएस [1,2,3] और सूची ए में आयकर [10.25,1.58,30.28] हैं

सूची बी में आईडी [1,2,3] और सूची बी में आयकर [10.25,1.57,28.28] हैं

मैं यह प्रदर्शित करना चाहता हूं कि तुलना के बाद कौन से मूल्य भिन्न हैं और यह भी कि किस आईडी के लिए यह अलग है

मुझे आउटपुट चाहिए क्योंकि आईडी 2 और 3 के लिए आयकर अलग है।

सूचियों की तुलना करने के लिए मैंने नीचे दिए गए कोड की कोशिश की:

try {
    IDList.equals(AfterChangeIDList);
        log.info("ID List are equal");
    }catch (Exception e) {
        log.warn("IDList are not equal");
        throw e;
    }

// आयकर सूचियों की तुलना करें

try {
        IncomeTaxList.equals(AfterChangeIncomeTaxList);
        log.info("Income Tax list are equal");
    }catch (Exception e) {
        log.warn("Income Tax list are not equal");
        throw e;        
    }

क्या मुझे पता चल सकता है कि अंतर कैसे लौटाया जाए?

-1
Suma 4 फरवरी 2020, 13:51

2 जवाब

सबसे बढ़िया उत्तर
public static void main(String[] args) {

    List<Integer> ids = List.of(1, 2, 3);
    List<Double> taxes = List.of(10.25, 1.58, 30.28);
    List<Double> taxes2 = List.of(10.25, 1.57, 28.28);

    for (int i = 0; i < ids.size(); i++) {
        int id = i + 1;
        int result = taxes.get(i).compareTo(taxes2.get(i));

        if (result != 0) {
            System.out.println(
                    "value for id:" + id
                            + " is changed  old value: " + taxes.get(i)
                            + ",new value is: " + taxes2.get(i));
        }
    }
}
1
Ilkin Aliyev 5 फरवरी 2020, 16:02

कृपया निम्नलिखित प्रयास कीजिए:

public void test() {
        List<Integer> ids = new ArrayList<>();
        ids.add(1);
        ids.add(2);
        ids.add(3);
        List<Double> taxes = new ArrayList<>();
        taxes.add(10.25d);
        taxes.add(1.58d);
        taxes.add(30.28d);
        List<Double> taxes2 = new ArrayList<>();
        taxes2.add(10.25d);
        taxes2.add(1.57d);
        taxes2.add(28.28d);

        List<Integer> differentIds = new LinkedList<>();
        for (int i = 0; i < ids.size(); i++) {
            if (!taxes.get(i).equals(taxes2.get(i))) {
                differentIds.add(ids.get(i));
            }
        }
        System.out.println("Different values for ids: " + differentIds);
    }
2
Piotr Niewinski 4 फरवरी 2020, 14:47