Array
AI-generated
Arrays.fill(array, value);
System.arraycopy(
sourceArray,
sourceStart,
destinationArray,
destinationStart,
length
);
Map
AI-generated
map.getOrDefault(key, defaultVal);
map.putIfAbsent(key, value);
//smallest
treeMap.firstEntry();
// greatest key less than or equal to k
treeMap.floorKey(k);
// greatest entry with key less than or equal to k
treeMap.floorEntry(k);
// greatest key strictly less than k
treeMap.lowerKey(k);
Set
AI-generated
// smallest
treeSet.first();
// greatest element less than or equal to k
treeSet.floor(k);
// smallest element greater than or equal to k
treeSet.ceiling(k);
// strictly less / strictly greater
treeSet.lower(k);
treeSet.higher(k);
Queue
AI-generated
PriorityQueue<Integer> minHeap = new PriorityQueue<>();
PriorityQueue<Integer> maxHeap = new PriorityQueue<>(Comparator.reverseOrder());
Bitwise Tricks
AI-generated
| Task | Expression |
|---|---|
Test zero-based bit k |
(s & (1 << k)) != 0 |
Set bit k |
s |= 1 << k |
Clear bit k |
s &= ~(1 << k) |
Toggle bit k |
s ^= 1 << k |
| Intersection / union | s & t / s \| t |
| Set subtraction | s & ~t |
| Lowest set bit | s & -s |
| Lowest unset bit | ~s & (s + 1) |
| Multiply by 2^n | s << n (subject to overflow) |
| Arithmetic right shift | s >> n |
For negative odd values, >> n rounds differently from integer division by 2^n.
Swap Values:
int temporary = x;
x = y;
y = temporary;
The temporary-variable form is clearer and also works when both expressions refer to the same storage location.
Reference: Java Language Specification: bitwise and shift operators.