CodeGym /ื‘ืœื•ื’ Java /Random-HE /ืื™ืš ืžื—ืœื™ืคื™ื ืื•ื‘ื™ื™ืงื˜ื™ื ื‘-Java?
John Squirrels
ืจึธืžึธื”
San Francisco

ืื™ืš ืžื—ืœื™ืคื™ื ืื•ื‘ื™ื™ืงื˜ื™ื ื‘-Java?

ืคื•ืจืกื ื‘ืงื‘ื•ืฆื”
ื”ื—ืœืคืช ืื•ื‘ื™ื™ืงื˜ื™ื ื”ื™ื ืื—ืช ื”ืคืขื•ืœื•ืช ื”ืคื•ืคื•ืœืจื™ื•ืช ื‘ื™ื•ืชืจ ื‘ืชื›ื ื•ืช. ื–ื” ืฉื™ืžื•ืฉื™ ื‘ืžื™ื•ื—ื“ ื‘ืžื™ื•ืŸ. ืžื” ืฉืงื•ืจื” ื‘ื”ื—ืœืคื” ื”ื•ื ืฉื ื™ ืžืฉืชื ื™ื ื”ืžื—ืœื™ืคื™ื ืืช ื”ืขืจื›ื™ื ืฉืœื”ื. ื‘ืžืืžืจ ื–ื” ื ืœืžื“ ื›ื™ืฆื“ ืœื”ื—ืœื™ืฃ ืื•ื‘ื™ื™ืงื˜ื™ื ื‘-Java ื‘ืฉื ื™ ืžืงืจื™ื ืฉื•ื ื™ื. ื”ืื—ื“ ื”ื•ื ื”ื—ืœืคืช ืื•ื‘ื™ื™ืงื˜ื™ื ืขืฆืžืื™ื™ื ื•ื”ืฉื ื™ ื”ื•ื ื”ื—ืœืคืช ืฉื ื™ ืื•ื‘ื™ื™ืงื˜ื™ื ื‘ืจืฉื™ืžื” ืื• ืžืขืจืš. ืชื—ื™ืœื” ื ื‘ื—ืŸ ื”ื—ืœืคืช ืื•ื‘ื™ื™ืงื˜ื™ื ืขืฆืžืื™ื™ื.ืื™ืš ืžื—ืœื™ืคื™ื ืื•ื‘ื™ื™ืงื˜ื™ื ื‘-Java?  - 1

ื”ื—ืœืคืช ืื•ื‘ื™ื™ืงื˜ื™ื ืฉื•ื ื” ืžื”ื—ืœืคืช ืกื•ื’ื™ ื ืชื•ื ื™ื ืคืจื™ืžื™ื˜ื™ื‘ื™ื™ื

ืื—ืช ื”ืฉื™ื˜ื•ืช ื”ื ืคื•ืฆื•ืช ืœืฉื™ืžื•ืฉ ื›ื“ื™ ืœื”ื—ืœื™ืฃ ืขืจื›ื™ื ืคืจื™ืžื™ื˜ื™ื‘ื™ื™ื ื”ื™ื ืฉื™ืžื•ืฉ ื‘ืžืฉืชื ื” ื–ืžื ื™. ืขื ื–ืืช, ืืชื” ื™ื•ื“ืข ืฉ-Java ืžืฉืชืžืฉืช ื‘-"Pass By Value" ื‘ืขืช ื”ืขื‘ืจืช ืคืจืžื˜ืจื™ื ืœืฉื™ื˜ื”. ืœื›ืŸ, ื”ื—ืœืคืช ืื•ื‘ื™ื™ืงื˜ื™ื ืœื ืชืขื‘ื•ื“ ื›ืคื™ ืฉืฆื™ืคื™ืช ื‘ืฉื™ื˜ื” ื–ื•. ื”ื“ื•ื’ืžื” ื”ื‘ืื” ืชืจืื” ื–ืืช.
public class ObjectSwapper {
    public static void main(String[] args) {
        InnerClass obj1 = new InnerClass(12345);
        InnerClass obj2 = new InnerClass(11111);
        swap(obj1, obj2);
        System.out.println("Obj1 ID value : " + obj1.id + "\n" + "Obj2 ID value :  " + obj2.id);
    }
    static void swap(InnerClass x, InnerClass y) {
        InnerClass temp;
        temp = x;
        x = y;
        y = temp;
    }
    static class InnerClass {
        public int id;
        public InnerClass(int Id) {
            this.id = Id;
        }
    }
}
ื”ืคืœื˜: ืื™ืš ืžื—ืœื™ืคื™ื ืื•ื‘ื™ื™ืงื˜ื™ื ื‘-Java?  - 2ืœื ื”ื™ื™ืชื” ื”ื—ืœืคื”! ื›ืืฉืจ ืื ื• ืงื•ืจืื™ื ืœืฉื™ื˜ืช swap ื•ืžืขื‘ื™ืจื™ื ืืช ื”ืื•ื‘ื™ื™ืงื˜ื™ื, ืื ื• ืžืขื‘ื™ืจื™ื ืขื•ืชืง ืฉืœ ื”ืื•ื‘ื™ื™ืงื˜, ืขื ื›ืœ ืขืจื›ื™ ื”ืžืืคื™ื™ื ื™ื. ื–ื• ื”ืกื™ื‘ื” ืฉื‘ื’ืœืœื” ื–ื” ื ืงืจื "ืขื•ื‘ืจ ืขืœ ื™ื“ื™ ืขืจืš". ืฉื™ื˜ืช ื”ื”ื—ืœืคื” ืœืžืขืฉื” ืžื—ืœื™ืคื” ืืช ื”ืื•ื‘ื™ื™ืงื˜ื™ื ืฉืžืฉืคื™ืขื™ื ืจืง ืขืœ ื”ืขื•ืชืง ืฉืœ ื”ืื•ื‘ื™ื™ืงื˜ ื”ืžืงื•ืจื™. ืื– ื”ื—ืคืฆื™ื ื”ืžืงื•ืจื™ื™ื ื ืฉืžืจื™ื ืœืœื ืฉื™ื ื•ื™. ื”ืคืชืจื•ืŸ ืœื›ืš ื™ื”ื™ื” ืœื”ืฉืชืžืฉ ื‘ืžื—ืœืงืช ืขื˜ื™ืคื” ื›ื“ื™ ืœืขื˜ื•ืฃ ืืช ืฉื ื™ ื”ืื•ื‘ื™ื™ืงื˜ื™ื.

ื”ื—ืœืคืช ื—ืคืฆื™ื ืขื ื›ื™ืชืช ืขื˜ื™ืคื”

public class ObjectSwapper {
    public static void main(String[] args) {

        InnerClass obj1 = new InnerClass(12345);
        InnerClass obj2 = new InnerClass(11111);
        objectWrapper wrapperObj1 = new objectWrapper(obj1);
        objectWrapper wrapperObj2 = new objectWrapper(obj2);
        // Values before swapping
        System.out.println("WrapperObj1 InncerClass ID value : " + wrapperObj1.innerObject.id + "\n" + "WrapperObj2 InncerClass ID value : "
                + wrapperObj2.innerObject.id + "\n");

        swap(wrapperObj1, wrapperObj2);

        // Values after swapping
        System.out.println("WrapperObj1 InncerClass ID value : " + wrapperObj1.innerObject.id + "\n" + "WrapperObj2 InncerClass ID value : "
                + wrapperObj2.innerObject.id);
    }

       static void swap(objectWrapper wrapperObj1, objectWrapper wrapperObj2) {
        InnerClass temp;
        temp = wrapperObj1.innerObject;
        wrapperObj1.innerObject = wrapperObj2.innerObject;
        wrapperObj2.innerObject = temp;
    }

    static class InnerClass {
        public int id;
        public InnerClass(int Id) {
            id = Id;
        }
    }

    static class objectWrapper {
        InnerClass innerObject;
        public objectWrapper(InnerClass objInnner) {
            this.innerObject = objInnner;
        }
    }
}
ื›ืืŸ ื”ืฉืชืžืฉื ื• ื‘ืžื—ืœืงืช ืขื˜ื™ืคื” ืฉื™ืฉ ืœื” ืžืืคื™ื™ืŸ ืฉืœ ืกื•ื’ ื”ืื•ื‘ื™ื™ืงื˜ื™ื ืฉืื ื—ื ื• ืฆืจื™ื›ื™ื ืœื”ื—ืœื™ืฃ. ืขืœ ื™ื“ื™ ืฉื™ืžื•ืฉ ื‘ืฉื™ื˜ืช ื”ื—ืœืคื” ืคืฉื•ื˜ื”, ื”ื•ื ืžื—ืœื™ืฃ ืืช ื”ืชื•ื›ืŸ ืฉืœ ืื•ื‘ื™ื™ืงื˜ื™ InnerClass ืฉืœ ืื•ื‘ื™ื™ืงื˜ื™ ืžื—ืœืงืช ื”-wrapper. ืœื›ืœ ื™ื™ืฉื•ื ื ื•ืกืฃ ืฉืœ ืื•ื‘ื™ื™ืงื˜ื™ InnerClass ืฉื”ื•ื—ืœืคื•, ื ื•ื›ืœ ืœื”ืฉืชืžืฉ ื‘-wrapperObj1.xyz ื•ื‘-wrapperObj2.xyz ื‘ื”ืชืื. ื”ืคืœื˜:ืื™ืš ืžื—ืœื™ืคื™ื ืื•ื‘ื™ื™ืงื˜ื™ื ื‘-Java?  - 3

ืฉื™ื˜ืช ื”-swap() ื”ืžื•ื‘ื ื™ืช ื‘-Java

ืœืžื—ืœืงื•ืช ืฉืœ Java Collections Framework ื™ืฉ ืฉื™ื˜ื” ืžื•ื‘ื ื™ืช ืœื”ื—ืœืคืช ืืœืžื ื˜ื™ื ื”ื ืงืจืืช swap() . ื”- java.util ื”ื•ื ืžื—ืœืงืช ืขื–ืจ ื”ืžื›ื™ืœื” ืฉื™ื˜ื•ืช ืกื˜ื˜ื™ื•ืช ืฉื™ื›ื•ืœื•ืช ืœืคืขื•ืœ ืขืœ ืืœืžื ื˜ื™ื ื›ืžื• ืจืฉื™ืžื•ืช ืžืžืžืฉืง ื”ืื•ืกืฃ. ื”ืฉื™ืžื•ืฉ ื‘ืฉื™ื˜ืช ื”ื”ื—ืœืคื” ื”ื•ื ื”ืจื‘ื” ื™ื•ืชืจ ืงืœ ืžื”ื“ื•ื’ืžื” ืฉื“ื™ื‘ืจื ื• ืขืœื™ื” ืงื•ื“ื ืœื›ืŸ. ื”ืฉื™ื˜ื” swap() ื”ื™ื ืฉื™ื˜ื” ืกื˜ื˜ื™ืช ื•ืœื›ืŸ ืืชื” ืžืคืขื™ืœ ืื•ืชื” ืขื ืฉื ื”ืžื—ืœืงื” ื‘ืชื•ืจ Collections.swap() . ืกื•ื’ ื”ื”ื—ื–ืจื” ืฉืœ ืฉื™ื˜ืช swap() ื‘ื˜ืœ ื•ืœื›ืŸ ื”ื•ื ืœื ื™ื—ื–ื™ืจ ื“ื‘ืจ. ืขืœื™ืš ืœื”ืขื‘ื™ืจ ืฉืœื•ืฉื” ืืจื’ื•ืžื ื˜ื™ื ืœืฉื™ื˜ืช swap() . ื‘ื“ื•ืง ืืช ื”ื”ืขืจื” ืœืžื˜ื”.
swap(List<?> list, int a, int b)
ืคืจืžื˜ืจื™ื:
  • list โ€” ืจืฉื™ืžื” ืžื›ื™ืœื” ืืช ื”ืืœืžื ื˜ื™ื ืฉืื ื• ืžื—ืœื™ืคื™ื.
  • a - ืื™ื ื“ืงืก ืฉืœ ืจื›ื™ื‘ ืฉื™ืฉ ืœื”ื—ืœื™ืฃ .
  • b - ืื™ื ื“ืงืก ืฉืœ ืืœืžื ื˜ ืื—ืจ ืฉื™ืฉ ืœื”ื—ืœื™ืฃ .
ืฉื™ื ืœื‘ ืฉืฉื™ื˜ื” ื–ื• ืชื–ืจื•ืง IndexOutOfBoundsException ืื a ืื• b ื ืžืฆืื™ื ืžื—ื•ืฅ ืœื˜ื•ื•ื— ืฉืœ ื’ื•ื“ืœ ื”ืจืฉื™ืžื”. ื”ืื™ื ื“ืงืก ื”ืžืจื‘ื™ ืฉืœ ื”ืจืฉื™ืžื” ื”ื•ื ืื—ื“ ืคื—ื•ืช ืžื’ื•ื“ืœ ื”ืจืฉื™ืžื”. ื›ืœ ืขืจืš ืื™ื ื“ืงืก ื™ื•ืชืจ ืžื–ื” ื™ื’ืจื•ื ืœ- IndexOutOfBoundsException ืœื”ื™ื–ืจืง. ื“ื•ื’ืžื” ืœืฉื™ืžื•ืฉ ื‘ืฉื™ื˜ืช ื”ื”ื—ืœืคื” ื‘- ArrayList ืžื•ืฆื’ืช ืœื”ืœืŸ.

ืฉื™ื˜ืช swap() ื‘- ArrayList

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class ArrayListSwapper {
    public static void main(String[] args) {
        try {
            List fruits = new ArrayList();
            fruits.add("Mango");
            fruits.add("Papaya");
            fruits.add("Apple");
            fruits.add("Orange");
            fruits.add("Watermelon");
            fruits.add("Bael");
            System.out.println("Before swapping : " + fruits);
         //using Collection.swap() method
            Collections.swap(fruits, 2, 5);
            System.out.println("After swapping : " + fruits);
        } catch (IndexOutOfBoundsException e) {
            System.out.println("Index Out of Bound Exception thrown : " + e);
        }
    }
}
ArrayList ืฉืœ ืคื™ืจื•ืช ืžื›ื™ืœ ืฉื™ืฉื” ืืœืžื ื˜ื™ื. ืื ื• ืžื—ืœื™ืคื™ื ืืช ื”ืืœืžื ื˜ื™ื ื”ืฉื ื™ ื•ื”ื—ืžื™ืฉื™ ื‘ืืžืฆืขื•ืช ืฉื™ื˜ืช ื”ืคื•ื ืงืฆื™ื” swap() . ื”ืฉื™ื˜ื” ื”ื˜ื•ื‘ื” ื‘ื™ื•ืชืจ ื”ื™ื ืœื›ืชื•ื‘ ืืช ืฉื™ื˜ืช swap() ื‘ืชื•ืš ื‘ืœื•ืง try-catch ืžื›ื™ื•ื•ืŸ ืฉื”ื™ื ื™ื›ื•ืœื” ืœื–ืจื•ืง IndexOutOfBoundsException ื‘ื–ืžืŸ ืจื™ืฆื”. ื”ืคืœื˜: ืื ื ืขื‘ื™ืจ ืืช '2' ื•-'8' ื›ืื™ื ื“ืงืกื™ื, ื”ืืคืœื™ืงืฆื™ื” ืชื–ืจื•ืง ื—ืจื™ื’ื” ืžื›ื™ื•ื•ืŸ ืฉื’ื•ื“ืœ ื”ืจืฉื™ืžื” ื”ื•ื ืฉื™ืฉื”. ืื™ืš ืžื—ืœื™ืคื™ื ืื•ื‘ื™ื™ืงื˜ื™ื ื‘-Java?  - 4
Collections.swap(fruits, 2, 8);
ื”ืคืœื˜ ื™ื”ื™ื”:ืื™ืš ืžื—ืœื™ืคื™ื ืื•ื‘ื™ื™ืงื˜ื™ื ื‘-Java?  - 5

ืกื™ื›ื•ื

ื‘ืžื“ืจื™ืš ื–ื”, ื“ื ื• ื‘ื›ืžื” ื˜ื›ื ื™ืงื•ืช ื”ื—ืœืคื” ื”ืžืฉืžืฉื•ืช ื‘-Java. ืื—ื“ ืžื”ื ืžืฉืชืžืฉ ื‘ืžื—ืœืงืช ืขื˜ื™ืคื” ื•ื”ืฉื ื™ ืžืฉืชืžืฉ ื‘ืฉื™ื˜ืช Collection.swap() . ื—ืฉื•ื‘ ืœื–ื›ื•ืจ ืฉื˜ื™ืคื•ืœ ื‘ื—ืจื™ื’ื™ื ืฆืจื™ืš ืœื”ื™ืขืฉื•ืช ื‘ืขืช ืฉื™ืžื•ืฉ ื‘ืคื•ื ืงืฆื™ื” swap() ืžื›ื™ื•ื•ืŸ ืฉื”ื™ื ื–ื•ืจืงืช ื—ืจื™ื’ ื‘ื–ืžืŸ ืจื™ืฆื”.
ื”ืขืจื•ืช
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION