こちらに詳しく書かれています。
http://www.j-cool.co.jp/blog/?p=1674
例えばこんな定数クラスがあったとします。
それをinterfaceで定義するとこうなります。
あれ、『public』『static』『final』 の定義は?
実はinterfaceの場合、暗黙的に上記3つが適用されます。
ちなみにメソッドに関しても暗黙的に『public』 と 『abstract』 が適用されます。
無意味なコードはなるべく書かないようにしましょう。
public final class SampleConstClass {
public static final String ABC = "ABC";
}
それをinterfaceで定義するとこうなります。
public interface SampleConstInterface {
String ABC = "ABC";
}
あれ、『public』『static』『final』 の定義は?
実はinterfaceの場合、暗黙的に上記3つが適用されます。
ちなみにメソッドに関しても暗黙的に『public』 と 『abstract』 が適用されます。
無意味なコードはなるべく書かないようにしましょう。
パフォーマンスを測定する場合、以下のような形で行いますが、
-----------------------------------------------
long start = System.currentTimeMillis();
// 重い処理があるとする
long end = System.currentTimeMillis();
System.out.println((end - start) + "ms");
<結果>
53106ms
-----------------------------------------------
数十秒以上かかる処理だと結果が見にくいので、
秒に変換してくれるjava.util.concurrent.TimeUnitを使うと便利です。
System.out.println(TimeUnit.MILLISECONDS.toSeconds(end - start) + "秒");
<結果>
53秒
変換元単位.to変換先単位(long値)という形式でいろいろ変換可能です。
詳しくはAPIをご参照ください。
http://docs.oracle.com/javase/jp/7/api/java/util/concurrent/TimeUnit.html
重複データを除外したい場合、Setインターフェースを使えば簡単に除外できます。
<サンプル>
Set<String> set = new HashSet<String>();
<サンプル>
Set<String> set = new HashSet<String>();
set.add("AA");
set.add("BB");
set.add("AA");
System.out.println(Arrays.asList(set.toArray()));
<出力結果>
[AA, BB]
ちなみに、実装クラスとしてHashSet、LinkedHashSet、TreeSetがありますが
速いのはHashSet、LinkedHashSetで、TreeSetは遅いようです。
<出力結果>
[AA, BB]
ちなみに、実装クラスとしてHashSet、LinkedHashSet、TreeSetがありますが
速いのはHashSet、LinkedHashSetで、TreeSetは遅いようです。
開発が止まっていてかつalpha版なので
実業務で使うのは危険ですが
お遊びに使う分には面白いかもしれません。
MaVerickDBMS
http://sourceforge.net/projects/maverick/
実業務で使うのは危険ですが
お遊びに使う分には面白いかもしれません。
MaVerickDBMS
http://sourceforge.net/projects/maverick/
