Java6
以前から javax.tools パッケージって気になってたんですが、それを使ったサンプルを見つけたのでちょっと試してみることに。javax.tools パッケージのクラスを使うと、Java クラスをダイナミックに生成することができるそうです。 ここでいう“ダイナミック…
Gradle 0.9.x から Idea プラグインがそれなりに動くようになっていじってみてるんですけど、依存性 (dependencies) にライブラリを追加して IDEA の設定ファイルを生成し直す(「gradle idea」コマンド実行)と IDEA の設定があれこれリセットされてしまう…
Sun の JDK (バージョン 1.6.0_01)で利用可能な CharSet (java.nio.charset.Charset) を列挙。 160個ありました。次のようなコードで利用可能な CharSet を列挙できます: import java.util.Map; import java.nio.charset.Charset ... Map<String, Charset> map = Charset.a</string,>…
『Effective Java 第2版 (The Java Series)』を読むまで知らなかったのですが、Java SE 5 から Java SE 6 に移行する際に @Override アノテーション*1の使用方法が変更になっていたそうで。一言で言えば、「インターフェースに宣言されているメソッドをオー…
前回までに引き続き、今回からは Map インターフェースとそのサブインターフェースを(一覧)。メソッドは独断と偏見で幾つかにカテゴリー分けしてます: エントリーなどの取得:get() や keySet() など エントリーの追加:put() など エントリーの削除:rem…
あまり使ったことないので、メソッドの宣言だけ載せておきます(一覧)。メソッドは独断と偏見で幾つかにカテゴリー分けしてます: エントリーなどの取得:get() や keySet() など エントリーの追加:put() など エントリーの削除:remove() など その他注意…
今回は BlockingQueue と BlockingDeque の2つ(一覧)。メソッドは独断と偏見で幾つかにカテゴリー分けしてます: 集合としてのメソッド:size() や iterator() など 要素の挿入:add(), offer() など 要素の削除:remove(), poll() など 要素の検査:eleme…
前回、「Queue インターフェースは FIFO キューだけでなく、LIFO キューとしても使えるけど、実装がない」と書きました。 今回は LIFO キューとして使える Queue の実装を考えてみましょう(一覧)。 クラス名は LIFOQueue とします。一から作るのは大変ので…
今回は Queue と Deque の2つ(一覧)。メソッドは独断と偏見で幾つかにカテゴリー分けしてます: 集合としてのメソッド:size() や iterator() など 要素の挿入:add(), offer() など 要素の削除:remove(), poll() など 要素の検査:element(), peek() な…
今回は Set, SortedSet, NavigableSet の3つ(一覧)。 メソッドは独断と偏見で幾つかにカテゴリー分けしてます: 要素の取得:iterator() や getter メソッドなど 要素の追加:add() や addAll() など 要素の削除:remove() や clear() など 要素の削除&取…
以前に Java SE 6 のコレクション・フレームワークに定義されているインターフェース群の型階層を簡単に見ました。 それに引き続き、今回から何回かにわたって、各インターフェースの拡張の際に追加されているメソッドを見ていきます(一覧)。メソッドは独…
Java SE 6 のコレクション・フレームワーク (Collection Framework) に含まれる java.util.Map のサブタイプのクラス図(一覧)。 緑の枠中に描いてあるのは各インターフェースの実装クラスです*1。 インターフェースもクラスも java.util パッケージと java…
Java SE 6 のコレクション・フレームワーク (Collection Framework) に含まれる java.util.Collection のサブタイプのクラス図(一覧)。 緑の枠中に描いてあるのは各インターフェースの実装クラスです*1。 インターフェースもクラスも java.util パッケージ…