複数要素で構成されるデータをJavaで扱う場合は、配列またはCollectionインターフェイスを持つクラスを使用するのが一般的です。Collectionインターフェイスを持つクラスには、java.util.ArrayListやjava.util.HashSetなどがあります。 配列は要素数が固定となりますが、使用メモリが少ないという特徴があります。他方、Collectionインターフェイスを持つクラスは配列よりも使用メモリが多くなりますが、要素を自由に追加・削除できるという特徴があります。プログラムを記述する際は、それぞれの特徴を考えてどちらを使用するか決定することができます。 しかし、ライブラリのメソッドに複数要素のデータを渡す場合、渡すべきデータを保持している型と、ライブラリのメソッドの引数の型が異なるため、型変換が必要になることがあります。本稿ではそうした場合に対応できるよう、配列
元ねた:Javaを使うなら必ず覚えておきたいデータ構造 - 配列・リスト・マップ - いろいろ解析日記 なんか色々と足りないよね、ってことで、色々と補足を。 配列 配列の生成 配列に含める要素が既に分かっている場合、例えば、 String[] strs = new String[2]; strs[0] = "hoge"; strs[1] = "piyo"; このような場合、以下のように記述できる。 String[] strs = { "hoge", "piyo" }; 独自のクラスだったとしても、 Hoge[] hs = { new Hoge(), new Hoge() }; と、普通に可能。 これを使うと、引数を 2 つ受け取って配列にまとめて返すメソッドは、 Hoge[] toArray(Hoge a, Hoge b) { Hoge[] result = { a, b }; retur
フィールドの遅延初期化について勉強したので要約としてまとめておきます。 遅延初期化とは 遅延初期化とは、コンストラクタなどで事前にフィールドを初期化するのではなく、フィールドが利用される時に初期化することいいます。遅延初期化は諸刃の剣と呼ばれていて、必要がなければやらないというのが考え方らしい。 public class Fuga{ private Hoge hoge; public Hoge getHoge(){ if ( hoge == null ){ hoge = new Hoge(); // 遅延初期化している } return hoge; } } ただ、この場合だと複数のスレッドから呼び出されてしまうと、遅延初期化が循環してしまいます。(遅延初期化循環といいます)ではなく、複数のスレッドが割り込むと初期化が何度も行われてしまうということ。 追記:さらにいうとシングルトンは単一のイ
EclipseでJavaDocを作ろうとした時に困ったことの回避メモ。 ▼JavaDoc生成時に、文字コード`\65279`は不正だと怒られる JavaコードをUTF-8で作っていて、かつ人から引き継いだ時によく発生する。 これは、JavaDocツールがBOM有りUTF-8に対応していないから発生するらしい。 (ちなみに、Javaは対応) これはEclipseで直そうとするとハマるので、素直に外部ツールを使って `UTF-8`(BOM無し)に変換してやればいい。 |・x・)っ[ オススメ変換ツール ] ファイル検索で`*.java`見つけて、検索窓からファイルをまとめてドラッグ&ドロップ。 速攻変換できるのでラクちん。 ▼出来上がったJavaDocをブラウザで見ると文字化けする 多分、出来上がったHTMLの文字コードが設定されていないため。 [エクスポート]->[Java:JavaDoc]
Javaで日付、時刻関連の処理を作る場合、大抵はjava.util.Dateクラスを利用すると思います。 今回は、その日付操作に関するTipsです。 ・日付・時刻への変換について 例えば、あるログファイルを解析して集計させるような処理において、String → Dateへの変換処理が必要になってきます。 この場合、一般的なJava入門書や、解説ページでは、下記の様なコードサンプルが殆どです。 import java.util.*; import java.text.*; public class hoge{ public static void main(String str[]) { String _strDate = "2005/05/02 18:00:00"; Date d = null; //d = new Date(_strDate); …(A) try{ d = DateFor
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く