sort
Javaをこれから再勉強しようと思っている。『Head First Java 第2版』のサンプルPDFを見たのをきっかけに、sortを少し調べたが、sortはArrayListクラスには存在せず、2つのクラスメソッドを使う。配列の場合java.util.Arrays.sort()で、コレクションの場合java.util.Collections.sort()を使う。以下、JavaとPythonのサンプルコード。
import java.util.*; class test { public static void main(String[] args) { String[] L = {"a", "c", "b"}; java.util.Arrays.sort(L); for (String s : L) { System.out.println(s); } } } /* 実行結果 */ a b c
>>> L = ['a', 'c', 'b'] >>> L.sort() >>> L ['a', 'b', 'c']
破壊的だが、Pythonのsorted()を実現したい場合はどうするのだろう?オリジナルをコピーしてからsort()するのだろうか?最近だいぶマシになってきたとはいえ、Javaのコードは狂気の沙汰としか思えない。パフォーマンス、信頼性は高いし、進化もC++より早いが、ちょっとしたことでも面倒すぎる。一度スクリプトを経験すると戻るのが辛い…。