プログラミング

java

無名クラスとは?その概要と使い方

javaやC#では、インスタンス変数をnewする際に、後ろに中かっこを記述し定義を行うことができます。 ここで定義されるものは「無名クラス(匿名クラス)」と呼ばれ、クラス名を新たに定義することなく、インスタンス変数のクラス・インターフェース...
java

Javaで標準入出力の入力元・出力先を変更する方法

javaには ・System.setIn ・System.setOut ・System.setErr の3つのメソッドが用意されており、これらのメソッドにより標準入出力の入力元・出力先を変更することができます。 これらのメソッドを利用するこ...
java

Javaで重複を排除する3つの方法

今回は、javaでListの重複排除を行う方法を3つ紹介します。 1つ目の方法は、for文で自力でアルゴリズムを記述して重複排除を行う方法です。 記述が冗長になり、コーディングミスも起こりやすいことから、現在の実務ではこの方法で重複排除を行...
プログラミング

動的計画法の基本と実践方法を試してみた

動的計画法とは、再帰的なロジックを、計算結果を都度記録するロジックで代替することで、計算速度を向上させるテクニックです。 競技プログラミングのテクニックの一つなのですが、高度なアルゴリズムを実装する開発だけではなく普通の業務システム開発にも...
java

SingletonとStaticの違いとは?【続編】」

こちらの記事について社内外でちょっとした議論になったので、その内容をまとめてみました。 Singletonパターンを利用する理由は「外部からnewさせたくないから」だと思っていましたが、「そう書いた方がわかりやすいから」「staticではな...