List

ArrayListやLinkedListは、Listインターフェースを実装しているので、Listで共通化できる。List (Java Platform SE 6)ListにArrayListを入れても、LinkedListを入れても、addは使えるし、Listを使った出力メソッドで出力できる。 1 1.2 A 2 2.4 B a b c A B …

LinkedList

ArrayListが配列のような使い方を中心とするなら、LinkedListはキューのような使い方を中心とする。LinkedList (Java Platform SE 6) 待ち行列としての利用 - コレクション(LinkedList) - Java入門非ジェネリクス版、ジェネリクス版と一応両方。 offerでキュ…

Function

Functionは、引数を取り、値を返す既定の関数型インターフェース。Function (Java Platform SE 8) Java関数型インターフェースメモ(Hishidama's Java8 Functional Interface Memo)以前のように渡された値を2乗する。s.applyに引数を渡してそのまま返す。ラム…

Predicate

Predicateは、引数を取り、真偽値を返す既定の関数型インターフェース。Predicate (Java Platform SE 8) Java関数型インターフェースメモ(Hishidama's Java8 Functional Interface Memo)渡された値が0以上かどうかを判定する。引数をs.testに渡すと、boolean…

Consumer

Consumerは、引数はあるが、戻り値がない既定の関数型インターフェース。Consumer (Java Platform SE 8) Java関数型インターフェースメモ(Hishidama's Java8 Functional Interface Memo)何かをConsumer(消費)するという意味。s.acceptに引数をそのまま渡す。…

Supplier

Supplierは、引数無しで、戻り値のみがある既定の関数型インターフェース。Supplier (Java Platform SE 8) Java関数型インターフェースメモ(Hishidama's Java8 Functional Interface Memo)何かをSupplier(供給)するという意味合い。s.getで指定された関数型…

ラムダ式

引数に関数型インターフェースのインスタンスを新たに定義して渡す場合は、ラムダ式にすることができる。Java関数型インターフェースメモ(Hishidama's Java8 Functional Interface Memo) Javaラムダ式メモ(Hishidama's Java8 Lambda Expression Memo)インタ…

@FunctionalInterface

アノテーションの@FunctionalInterfaceを付けるとエラーチェックしてくれる。Java関数型インターフェースメモ(Hishidama's Java8 Functional Interface Memo)interfaceの定義としておかしいこれは、そもそもinterfaceの定義としておかしいので、アノテーショ…

関数型インターフェース

関数型インターフェースは、メソッドの参照や後述するラムダ式を入れることができるインターフェース。 C#だとデリゲートにあたるのかな。Java関数型インターフェースメモ(Hishidama's Java8 Functional Interface Memo) 関数型インターフェースとは何か?(J…

Iterable

Iterableインターフェースは、C#でいうIEnumerable。Iterable (Java Platform SE 6) Java Iteratorメモ(Hishidama's Java Iterator Memo)コレクションは、これを実装している。Iterableなので拡張for文でループさせる。 ABC DEF GHIできた。Sample/java/Iter…

Iterator

Iteratorインターフェースは、C#でいうIEnumerator。C++はstd::iteratorがそのままあるけど。 コレクションは、前回のiteratorメソッドでこれを取得できるようになっている。Iterator (Java Platform SE 6) Java文メモ(Hishidama's Java Statement Memo)初期…

AbstractList.iterator

イテレータを取得するには、iteratorメソッドを使う。AbstractList (Java Platform SE 6) Java Iteratorメモ(Hishidama's Java Iterator Memo)6だと、AbstractListの方が先祖らしいので、こっちでやる。 (8だとArrayListのオーバーライドがドキュメントにあ…

拡張for文

拡張for文(いわゆるforeach)で、配列やArrayListなどから、要素を取り出すことができる。2. 拡張for文 | TECHSCORE(テックスコア)従来のfor文、配列で拡張for文、ArrayListで拡張for文。 ABC DEF GHI ABC DEF GHI abc def ghi取り出せている。Sample/java/En…

Calendar

現在の日時はDateで取得するが、特定の日時を何かにセットしたりする時など、日時を加工したい場合は、Calendarを使う。Calendar (Java Platform SE 6) Java日付処理メモ(Hishidama's Java Date Memo)Dateでも特定日時の設定などは出来るが、非推奨になって…

Date.after

Date.afterは、オブジェクト自身の日付というか時刻が、指定のDateオブジェクトより後かどうかを判定する。Date (Java Platform SE 6) Java日付処理メモ(Hishidama's Java Date Memo)date1の5秒後に、date2を取得。 date2が、date1より後か判定。 Wed Apr 22…

Integer.parseInt

Integer.parseIntで、文字列をパースして整数値に変換する。Integer (Java Platform SE 6) Java型メモ(Hishidama's Java type Memo)intの10と、Stringの"20"を変換した値を足すと、 ret = 30となる。Sample/java/Integer/parseInt/src/Integer at master · b…

CharSequence

Stringも、StringBufferも、CharSequenceインターフェースを実装しているため、メソッドの引数型をCharSequenceにしておいた方が幅広く受け取れる。CharSequence (Java Platform SE 6)Stringと、StringBufferで、それぞれfuncに渡してみる。 cs = ABCDE, cs.…

StringBuilder

JDK1.5から、StringBuilderが追加された。 使い方は、StringBufferとほぼ変わらない。 違いがあるとすると、スレッドセーフでない分高速であるということぐらいらしい。StringBuffer (Java Platform SE 6) Java文字列メモ(Hishidama's Java String Memo)とい…

StringBuffer

Stringオブジェクトは、変更不可の文字列を保持するものなので、本来は変更や連結などをする場合は、StringBufferを使うべき。StringBuffer (Java Platform SE 6) Java文字列メモ(Hishidama's Java String Memo) 【Javaの基本】なぜStringBufferを使うのか -…

String.length

String.lengthで、文字列の長さを取得できる。String (Java Platform SE 6) Java文字列メモ(Hishidama's Java String Memo)16ビットなので、基本的には半角英数でも日本語でも、文字数を返すが、サロゲートが含まれている場合は、charの個数を返す。実行する…

if文

PHP

if文は、おなじみ条件分岐に使うわけだが、これはif文というよりPHPの特徴だが、PHPはHTMLと混在させることが出来るので、phpタグでif文を分割して使うことが出来る。PHP入門 - 構文 - とほほのWWW入門 <html> <head> <title>echo</title> </head> <body> One! </body> </html> $varが0なら、if文の中の"One!"をH…

Cloneable.clone

これまでのcloneの実装だと、浅いコピーになるため、正しい深いコピーの実装をする。Cloneable (Java Platform SE 6) Javaのcloneメソッドの正しい実装方法 - Qiita厳密には、Cloneableにはcloneメソッドが含まれない模様。 (なのでタイトルはおかしいが、実…

タプル

タプルも複数の値をまとめたものだが、リストと違うのは、値の変更など様々な操作が出来ない点である。とほほのPython入門 - リスト・タプル・辞書 - とほほのWWW入門値をカンマで区切って、括弧"()"で括るとタプルになる。 #!/usr/bin/python lst = [10, 20…

Cloneable

Cloneableは、複製可能を示すインターフェース。Cloneable (Java Platform SE 6) Javaクローンメモ(Hishidama's Java Cloneable Memo)ちょっと書き方が正しくなかったので修正。Cloneableが無い状態で、super.clone(Object.clone)を呼ぶと、CloneNotSupporte…

Object.clone

Object.cloneは、オブジェクトのコピーを作成して返す。Object (Java Platform SE 6) オブジェクトのクローン - Java の基本 - Java 入門派生クラスで、Cloneableインターフェースのcloneを実装して、オーバーライドしないといけない。 // カスタムオブジェ…

Hash

ハッシュも組み込みライブラリHashとして用意されている。class Hash (Ruby 2.7.0 リファレンスマニュアル) Ruby入門 - 配列・ハッシュ・範囲 - とほほのWWW入門Rubyだと、文字列だけでなく、シンボル(Perlでいうシンボリックリファレンス?)もキーに出来るが…

Thread.CurrentThread

Thread.CurrentThreadは、現在のスレッドオブジェクトを返すスタティックメソッド。Thread.CurrentThread プロパティ (System.Threading) | Microsoft DocsデリゲートとBeginInvokeなどを使った非同期処理において、UIスレッドとワーカースレッドが違うスレ…

Object.toString

toStringは、すべてのオブジェクトに用意されているもので、オブジェクトの文字列表現を返す。Object (Java Platform SE 7) Java クラスにtoStringメソッドを追加する意味とサンプル | ITSakuraデフォルトのものを使ってもいいが、どうやってオーバーライド…

grep

grepは、指定した配列から、指定の条件を満たす要素を取り出す。grep関数 - 特定の条件を満たす配列要素のみ取得 - Perlプログラミング入門ゼミ - Perlでテキスト処理・Linuxサーバー管理・Webシステム開発最初に条件式、その次以降に配列やリストを指定。 1…

DialogFragment

DialogFragmentで、ダイアログを表示する。DialogFragment | Android Developers http://android-note.open-memo.net/sub/fragment__show_dialog_with_fragment.html [Android] DialogFragmentを使ってダイアログを表示する - Qiita DialogFragment - Qiitaa…