Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

code in java Create an collection and fill it with 20 random numbers between 1 a

ID: 3830936 • Letter: C

Question

code in java

Create an collection and fill it with 20 random numbers between 1 and 15 (inclusive)Seed the constructor of class Random with the value 132. Print the numbers3. Serialize the collection to a file called Numbers.ser4. Deserialize the file into a new collection called numberFromFile. Remove all duplicate numbers5. Print the resulting collection (the one without duplicates)

Output:
Numbers: [8, 11, 6, 14, 14, 6, 14, 9, 2, 15, 11, 7, 11, 11, 3]Numbers without duplicates: [2, 3, 6, 7, 8, 9, 11, 14, 15]

Explanation / Answer

package org.students;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.Random;

public class SerializationDeSerialization {

   public static void main(String[] args) throws Exception {
      
       Random r=new Random(132);
      
       int numbers3[]=new int[20];
      
       for(int i=0;i<numbers3.length;i++)
       {
           numbers3[i]=r.nextInt(15) + 1;
       }
      
       System.out.println("Numbers :");
       for(int i=0;i<numbers3.length;i++)
           System.out.print(numbers3[i]+" ");
      
           ObjectOutputStream oos=new ObjectOutputStream(new FileOutputStream("D:\Numbers.ser4"));
           oos.writeObject(numbers3);
           oos.flush();
           oos.close();
          
           ObjectInputStream ois=new ObjectInputStream(new FileInputStream("D:\Numbers.ser4"));
           int[] numberFromFile = (int[]) ois.readObject();
   ois.close();

           //This Logic will Sort the Array of elements in Ascending order
           int temp;
           for (int i = 0; i < numberFromFile.length; i++)
       {
       for (int j = i + 1; j < numberFromFile.length; j++)
       {
       if (numberFromFile[i] > numberFromFile[j])
       {
       temp = numberFromFile[i];
       numberFromFile[i] = numberFromFile[j];
       numberFromFile[j] = temp;
       }
       }
       }
             
          
          
           int curr = numberFromFile[0];
               boolean found = false;
int numbers5[]=new int[numberFromFile.length];
               System.out.println(" Numbers Without Duplicates :");
           int k=0;
              
               for (int i = 0; i < numberFromFile.length; i++) {
               if (curr == numberFromFile[i] && !found) {
               found = true;
               } else if (curr != numberFromFile[i]) {
                   numbers5[k++]=curr;
               curr = numberFromFile[i];
               found = false;
               }
               }

       numbers5[k++]=curr;
      
           for(int i=0;i<k;i++)
               System.out.print(numbers5[i]+" ");

   }

}

______________________

Output:

Numbers :
7 8 9 2 10 1 9 8 8 14 8 4 15 2 4 13 7 2 14 14

Numbers Without Duplicates :
1 2 4 7 8 9 10 13 14 15

_________________