1 32 package net.sf.retrotranslator.runtime.java.util; 33 34 import java.util.*; 35 36 39 public class _LinkedList { 40 41 public static Iterator descendingIterator(final LinkedList list) { 42 return new Iterator() { 43 private final ListIterator iterator = list.listIterator(list.size()); 44 45 public boolean hasNext() { 46 return iterator.hasPrevious(); 47 } 48 49 public Object next() { 50 return iterator.previous(); 51 } 52 53 public void remove() { 54 iterator.remove(); 55 } 56 }; 57 } 58 59 public static Object element(LinkedList list) { 60 return list.getFirst(); 61 } 62 63 public static boolean offer(LinkedList list, Object o) { 64 return list.add(o); 65 } 66 67 public static boolean offerFirst(LinkedList list, Object o) { 68 list.addFirst(o); 69 return true; 70 } 71 72 public static boolean offerLast(LinkedList list, Object o) { 73 list.addLast(o); 74 return true; 75 } 76 77 public static Object peek(LinkedList list) { 78 return list.isEmpty() ? null : list.getFirst(); 79 } 80 81 public static Object peekFirst(LinkedList list) { 82 return list.isEmpty() ? null : list.getFirst(); 83 } 84 85 public static Object peekLast(LinkedList list) { 86 return list.isEmpty() ? null : list.getLast(); 87 } 88 89 public static Object poll(LinkedList list) { 90 return list.isEmpty() ? null : list.removeFirst(); 91 } 92 93 public static Object pollFirst(LinkedList list) { 94 return list.isEmpty() ? null : list.removeFirst(); 95 } 96 97 public static Object pollLast(LinkedList list) { 98 return list.isEmpty() ? null : list.removeLast(); 99 } 100 101 public static Object pop(LinkedList list) { 102 return list.removeFirst(); 103 } 104 105 public static void push(LinkedList list, Object o) { 106 list.addFirst(o); 107 } 108 109 public static Object remove(LinkedList list) { 110 return list.removeFirst(); 111 } 112 113 public static boolean removeFirstOccurrence(LinkedList list, Object o) { 114 return list.remove(o); 115 } 116 117 public static boolean removeLastOccurrence(LinkedList list, Object o) { 118 ListIterator iterator = list.listIterator(list.size()); 119 if (o != null) { 120 while (iterator.hasPrevious()) { 121 if (o.equals(iterator.previous())) { 122 iterator.remove(); 123 return true; 124 } 125 } 126 } else { 127 while (iterator.hasPrevious()) { 128 if (iterator.previous() == null) { 129 iterator.remove(); 130 return true; 131 } 132 } 133 } 134 return false; 135 } 136 137 } 138 | Popular Tags |