Final answer:
The answer includes a high-level representation of a Java program using a linked list with menu-driven interaction, allowing insertion without duplicates, deletion, searching, printing, and other operations on a list of integer keys.
Step-by-step explanation:
The student is requesting a Java program that utilizes a linked list to manage integer keys. The program should offer several functionalities, allowing the user to interact with the list through a menu. Here is a simplified example that includes the requested operations:
import java.util.*;
class LinkedListMenu {
 public static void main(String[] args) {
 LinkedList
 list = new LinkedList
();
 Scanner scanner = new Scanner(System.in);
 int choice, value;
 do {
 System.out.println("\\Menu:\\");
 System.out.println("1 - Insert\\2 - Delete\\3 - Search\\4 - Print\\5 - Size\\6 - Sort\\7 - Reverse\\8 - Rotate\\9 - Shift\\10 - Clear\\11 - Quit");
 System.out.println("Choose an option: ");
 choice = scanner.nextInt();
 switch (choice) {
 case 1: // Insert
 System.out.println("Enter an integer to insert: ");
 value = scanner.nextInt();
 if (!list.contains(value)) {
 list.add(value);
 System.out.println(value + " inserted.");
 } else {
 System.out.println("Duplicate not allowed.");
 }
 break;
 // Additional case statements for each operation
 // ... rest of the menu operations ...
 }
 } while (choice != 11);
 scanner.close();
 }
 // Methods for delete, search, print, size, sort, reverse, rotate, shift, and clear operations
 // ... method definitions ...
}
Each menu option triggers a corresponding method to perform actions such as insert without duplicates, delete a key, search for an element, print the list, and so on. Necessary checks such as avoiding duplicate insertion and handling empty lists are also included in the logic.