メモ

なんか聞かれた事を書いてみる。

JavaでLRUキャッシュを簡単につくる例。

public class LRUMap<K,V> extends LinkedHashMap<K,V> {
  private final int maxCapacity;

  public LRUMap(int maxCapacity) {
    // 適当にサイズを初期化
    super(maxCapacity + (maxCapacity >> 1), 0.7, true);
    this.maxCapacity = maxCapacity;
  }
  protected boolean removeEldestEntry(Map.Entry<K,V> eldest) {
    return size() >= maxCapacity;
  }
}

JavaUnicode文字列のループ (5.0以降)

for (int i = 0; i < str.length(); ++i) {
  int codePoint = str.codePointAt(i);
  if (codePoint > 0xFFFF) {
    ++i;  // surrogate pair.
  }
  ...
}

もういっこなんかあったけど忘れた。