Answer:
Hope this helped you, and if it did , do consider giving brainliest.
Explanation:
import java.util.ArrayList;
import java.util.List;
//classs named BinarySearcher
public class BinarySearcher {
  
//   main method
   public static void main(String[] args) {
      
//   create a list of Comparable type
      
       List<Comparable> list = new ArrayList<>();
      
//       add elements
      
       list.add(1);
       list.add(2);
       list.add(3);
       list.add(4);
       list.add(5);
       list.add(6);
       list.add(7);
      
//       print list
      
       System.out.println("\nList : "+list);
      
//       test search method
      
       Comparable a = 7;
       System.out.println("\nSearch for 7 : "+search(list,a));
      
       Comparable b = 3;
       System.out.println("\nSearch for 3 : "+search(list,b));
      
       Comparable c = 9;
       System.out.println("\nSearch for 9 : "+search(list,c));
      
       Comparable d = 1;
       System.out.println("\nSearch for 1 : "+search(list,d));
      
       Comparable e = 12;
       System.out.println("\nSearch for 12 : "+search(list,e));
      
       Comparable f = 0;
       System.out.println("\nSearch for 0 : "+search(list,f));
      
   }
  
  
  
//   static method named search takes arguments Comparable list and Comparable parameter
   public static boolean search(List<Comparable> list, Comparable par) {
      
//       if list is empty or parameter is null the throw IllegalArgumentException
      
       if(list.isEmpty() || par == null ) {
          
           throw new IllegalArgumentException();
          
       }
      
//       binary search
      
//       declare variables
      
       int start=0;
      
       int end =list.size()-1;
      
//       using while loop
      
       while(start<=end) {
          
//           mid element
          
           int mid =(start+end)/2;
          
//           if par equal to mid element then return
          
           if(list.get(mid).equals(par) )
           {
               return true ;
              
           }  
          
//           if mid is less than parameter
          
           else if (list.get(mid).compareTo(par) < 0 ) {
                  
               start=mid+1;
           }
          
//           if mid is greater than parameter
          
           else {
               end=mid-1;
           }
       }
      
//       if not found then retuen false
      
       return false;
      
   }
  
  
}import java.util.ArrayList;
import java.util.List;
//classs named BinarySearcher
public class BinarySearcher {
  
//   main method
   public static void main(String[] args) {
      
//   create a list of Comparable type
      
       List<Comparable> list = new ArrayList<>();
      
//       add elements
      
       list.add(1);
       list.add(2);
       list.add(3);
       list.add(4);
       list.add(5);
       list.add(6);
       list.add(7);
      
//       print list
      
       System.out.println("\nList : "+list);
      
//       test search method
      
       Comparable a = 7;
       System.out.println("\nSearch for 7 : "+search(list,a));
      
       Comparable b = 3;
       System.out.println("\nSearch for 3 : "+search(list,b));
      
       Comparable c = 9;
       System.out.println("\nSearch for 9 : "+search(list,c));
      
       Comparable d = 1;
       System.out.println("\nSearch for 1 : "+search(list,d));
      
       Comparable e = 12;
       System.out.println("\nSearch for 12 : "+search(list,e));
      
       Comparable f = 0;
       System.out.println("\nSearch for 0 : "+search(list,f));
      
   }
  
  
  
//   static method named search takes arguments Comparable list and Comparable parameter
   public static boolean search(List<Comparable> list, Comparable par) {
      
//       if list is empty or parameter is null the throw IllegalArgumentException
      
       if(list.isEmpty() || par == null ) {
          
           throw new IllegalArgumentException();
          
       }
      
//       binary search
      
//       declare variables
      
       int start=0;
      
       int end =list.size()-1;
      
//       using while loop
      
       while(start<=end) {
          
//           mid element
          
           int mid =(start+end)/2;
          
//           if par equal to mid element then return
          
           if(list.get(mid).equals(par) )
           {
               return true ;
              
           }  
          
//           if mid is less than parameter
          
           else if (list.get(mid).compareTo(par) < 0 ) {
                  
               start=mid+1;
           }
          
//           if mid is greater than parameter
          
           else {
               end=mid-1;
           }
       }
      
//       if not found then retuen false
      
       return false;
      
   }
  
  
}