メソッドの紹介
API 仕様からいくつか有用なメソッドを抜粋して紹介する。
Stringで使えるメソッド
String クラスで提供されるメソッドについては下記のURLを参照すること。
charAt(int)
- char charAt(int at)
- 指定した位置の文字を取得する
- at - 文字を取得する位置。最初の文字が 0 から始まる
- 戻り値: at で指定した位置にある文字
String hello = "Hello!"; char h0 = hello.charAt(0); // 'H' char h5 = hello.charAt(5); // '!'
length()
- int length()
- この文字列の長さを取得する
- 戻り値: この文字列の長さ
String hello = "Hello!"; System.out.println(hello.length()); // 6
equals(Object)
- boolean equals(Object o)
- この文字列と他の文字列とを比較し、内容が同じならば true を返す
- 戻り値: 内容が同じならば true, 少しでも違うならば false
... String input = reader.readLine(); if (input.equals("hello")) { System.out.println("world!"); } else { System.out.println("???"); }
indexOf(String)
- int indexOf(String str)
- この文字列の中に str と同じ文字列が含まれる最初の位置を探す
- str - 探す文字列
- 戻り値: str と同じ文字列が含まれる最初の位置, str が含まれない場合は -1
.. String input = reader.readLine(); int index = input.indexOf("li"); if (index >= 0) { System.out.println(index + "文字目"); } else { System.out.println("見つかりませんでした"); }
上記のようなプログラムを実行して「supercalifragilisticexpialidocious」と入力すると、「supercali」の最後の部分でヒットし「7文字目」と表示される。「university」と入力した場合は「li」を含んでいないため「見つかりませんでした」と表示される。
substring(int,int)
- String substring(int beginIndex, int endIndex)
- この文字列の指定された範囲を、新しい文字列として返す
- beginIndex - 開始位置
- endIndex - 終了位置
- 戻り値: beginIndex 文字目から endIndex - 1 文字目までの部分文字列
.. String go = "go went gone"; System.out.println(go.substring(3, 7));
上記のようなプログラムを実行すると、「went」と表示される。
List で使えるメソッド
詳しくは、List のAPI仕様や ArrayList, LinkedList, Vector の API仕様を調べること。
- http://java.sun.com/j2se/1.4/ja/docs/ja/api/java/util/List.html
- http://java.sun.com/j2se/1.4/ja/docs/ja/api/java/util/ArrayList.html
- http://java.sun.com/j2se/1.4/ja/docs/ja/api/java/util/LinkedList.html
- http://java.sun.com/j2se/1.4/ja/docs/ja/api/java/util/Vector.html
add(Object)
- boolean add(Object o)
- 指定された値をリストの最後に追加する
- o - 追加する値
- 戻り値: 常に true
set(int, Object)
- Object set(int index, Object element)
- 指定された位置にある要素を書き換える
- index - 書き換える位置
- element - 書き換える値
- 戻り値: 書き換える以前にこの位置にあった値
set メソッドや get メソッドで指定する位置は、配列と同様に 0 番目から始まる。
get(int)
- Object get(int index)
- 指定された位置にある要素を取得する
- index - 取得する位置
- 戻り値: 指定された位置にある要素
remove(int)
- Object remove(int index)
- 指定された位置の要素を削除する
- index - 削除する位置
- 戻り値: 指定した位置にあった要素
このメソッドを使用すると、指定した位置にある要素を削除した後、リストの大きさを切り詰める。つまり、「"a", "b", "c"」が順に格納されたリストに対して remove(1) とやると "b" が取り除かれ、「"a", "c"」というリストになる。
size()
- int size()
- このリストに格納されている要素の個数を取得する。配列の length と同じような扱い
- 戻り値: このリストに格納されている要素の個数
contains(Object)
- boolean contains(Object o)
- このリストに指定した要素が含まれるかどうか調べる
- o - 調べる要素
- 戻り値: このリストに指定した要素が含まれるなら true, 含まれないなら false
indexOf(Object)
- int indexOf(Object o)
- このリストに指定した要素が含まれていれば、その最初の位置を返す
- o - 調べる要素
- 戻り値: この位置に指定した要素が含まれるならその最初の位置、含まれないなら -1
String toString()
- String toString()
- このリストの中身を文字列として返す
- 戻り値: このリストの文字列表現
Mapで使えるメソッド
詳しくは、Map のAPI仕様や HashMap, TreeMap, LinkedHashMap, HashTable の API仕様を調べること。
- http://java.sun.com/j2se/1.4/ja/docs/ja/api/java/util/Map.html
- http://java.sun.com/j2se/1.4/ja/docs/ja/api/java/util/HashMap.html
- http://java.sun.com/j2se/1.4/ja/docs/ja/api/java/util/TreeMap.html
- http://java.sun.com/j2se/1.4/ja/docs/ja/api/java/util/LinkedHashMap.html
- http://java.sun.com/j2se/1.4/ja/docs/ja/api/java/util/Hashtable.html
put(Object, Object)
- Object put(Object key, Object value)
- キーとそれとペアになる値を登録する
- key - 指定される値とペアになっているキー
- value - 指定されるキーとペアになっている値
- 戻り値: 以前に登録されていたこのキーのペアになっている値、登録されていなければ null
Map 上に同じキーは一つしか存在できない。これはいわゆる辞書との違いで、辞書は単語を引くとそれに関連した意味を複数取得することができる。Map の場合は、同じキーを 2 回以上 put されると、最後に put された値だけを保持することになる。
get(Object)
- Object get(Object key)
- 指定したキーとペアになっている値を取得する
- key - 取得したい値とペアになっているキー
- 戻り値: キーとペアになっている値、キーが登録されていなければ null
remove(Object)
- Object remove(Object key)
- 指定したキーとペアになっている値を、そのペアごとマップから抹消する
- key - 削除するペアのキー
- 戻り値: 以前に登録されていたこのキーのペアになっている値、登録されていなければ null
size()
- int size()
- このマップに登録されているペアの個数を取得する
- 戻り値: このマップに登録されているペアの個数、空の場合は 0
containsKey(Object)
- boolean containsKey(Object key)
- 指定したキーを持つキーと値のペアがこのマップに登録されているかどうか調べる
- key - 調べる対象のキー
- 戻り値: このマップに指定したキーが登録されていれば true
toString()
- String toString()
- このマップの中身を文字列として返す
- 戻り値: このマップの文字列表現