memo.xight.org

日々のメモ

カテゴリ : Java

2ページ目 / 全3ページ

正規表現 (Pattern, Matcherクラス)

マッチング

boolean flag = Pattern.matches("正規表現","文字列");


置換

Pattern p = Pattern.compile("正規表現");
Matcher m = p.matcher("置換対象文字列");
String result = m.replaceFirst("置換文字列");
String result = m.replaceAll("置換文字列");


分割

Pattern p = Pattern.compile("正規表現");
String[] strs = p.split("置換対象文字列");


注意

import java.util.regex.*;

  を忘れずに

Reference

  JavaAPI Documents - Pattern (Java 2 プラットフォーム SE v1.4.0)
  http://java.sun.com/j2se/1.4/ja/docs/ja/api/java/util/regex/Pattern.html
  JavaでHello World 正規表現編
  http://www.hellohiro.com/regex.htm

getParameter の使用法

HTML ファイル内

<applet code="Graph.class" width=400 height=400>
	<param name=center value="joe">
</applet>

Java ファイル内

  String center = getParameter("center");

これで center に joe が入る

Reference

  J2SDK のサンプル Graph Layout

J2SE 1.4.2 Released.

2003-06-27 に リリース

特徴

  ボタンやメニューバーが WindowsXP や GNOME に近づいているらしい.
  Intel の Itanium プロセッサシリーズを初めてフルサポート
  1.4.1 は Itanium のサポートが不完全で 1.4.1 に比べ 処理速度が 20 - 30 倍の速度に

Reference

  ITMedia:デスクトップ向けJava新版リリース
  http://www.itmedia.co.jp/news/0307/01/nebt_15.html

TreeSet と TreeMap

TreeSet

List list = new ArrayList();
list.add(new Integer(3));
list.add(new Integer(2));
list.add(new Integer(1));
TreeSet ts = new TreeSet(list);
Iterator it = ts.iterator();


TreeMap

HashMap map = new HashMap();
map.put("2", "じゃいあん");
map.put("1", "のびた");
map.put("3", "しずか");
TreeMap tm = new TreeMap(map);
it = tm.values().iterator();


注意

  デフォルトでキーでソートされるっぽい.

Reference

  Java TIPS
  http://cgi.tripod.co.jp/sky_lark/cgi-bin/tips/ViewTips.cgi?kind=Java

HashMap の Key と Value を全取得

Map.Entry を使う

HashMap map = new HashMap();
map.put("key1", "value1");
map.put("key2", "value2");
map.put("key3", "value3");
map.put("key4", "value4");
map.put("key5", "value5");
TreeMap treeMap = new TreeMap(map);

Set set = treeMap.entrySet();
Iterator it = set.iterator();
while(it.hasNext()) {
	Map.Entry entry = (Map.Entry) it.next();
	System.out.println(entry.getKey());
	System.out.println(entry.getValue());
}


Reference

  Java TIPS
  http://cgi.tripod.co.jp/sky_lark/cgi-bin/tips/ViewTips.cgi?kind=Java

携帯Java でGameBoyが動く?

久納孝治氏の `GameBoy Emulator on real mobile phone (Docomo F504i & P504i) '

  現在のところまだ動作速度が遅く,“アクションゲームが快適に楽しめる”ほどではない
  携帯のJavaでGameBoyソフトが動作することを示した意義は大きい

Reference

  ITMedia Mobile - 携帯JavaでGameBoyが動く!?
  http://www.itmedia.co.jp/mobile/0209/26/n_game.html

コレクションの使用法

Summary

  java JDKが1.1だったころ,コレクションといえばjava.util.Vectorかjava.util.Hashtableだったのだけど,もはや古い!
  java.util.Mapやjava.util.Listを覚えましょう.

注意

  Listというclass名はjava.awt.Listとjava.util.Listという同名のclassがあるので,十分注意.

対処法

  方法1: java.util.Listと直書きしてやる
  方法2: importでjava.util.Listと書く
  方法3: importでjava.awt.*;といった記述を使わない

Reference

  誰にも分からないJava講座
  http://park.ruru.ne.jp/ando/work/who/html/collect.html

Javaで URI エンコードするには

Summary

java.net.URIEncoder.encode() を使用する

使用法

public static String encode(String s, String enc) throws UnsupportedEncodingException

パラメータ s - 変換対象の String
enc - サポートされる「文字エンコーディング」の名前
戻り値 変換後の String
例外 UnsupportedEncodingException - 指定された文字エンコーディングがサポートされていない場合

もっと具体的な使用法

String result = URIEncoder.encode("ほげ", "EUC-JP");

サポートされているエンコーディング

抜粋

JISAutoDetect Shift-JIS,EUC-JP,ISO 2022 JP の検出および変換 (Unicode への変換のみ)
EUC_JP JIS X 0201,0208,0212,EUC エンコーディング,日本語
- Reference
  The Source for Developers - 国際化 - サポートされているエンコーディング
  http://java.sun.com/j2se/1.4/ja/docs/ja/guide/intl/encoding.doc.html

Google API を使ってみる

サンプルの使用法

  java -cp googleapi.jar com.google.soap.search.GoogleAPIDemo ライセンスキー search 検索語
  日本語が通らないという情報があったけど,通るようになっているっぽい.

API の使用方法

  全ての API は com.google.soap.search パッケージに属します.
  GoogleSearch クラスのオブジェクトに検索語を渡し, doSearch() メソッドを呼び出すと,
  検索が実行されて, その結果を収めた GoogleSearchResult オブジェクトが得られます.

GoogleSearch google=new GoogleSearch();
google.setKey(自分のライセンスキー);
google.setQueryString(検索文字列);
GoogleSearchResult result=google.doSearch();


  検索失敗時に GoogleSearchFault 例外が投げられるので, try〜catch 節で囲む.

  GoogleSearchResult オブジェクトから検索結果が取り出せます.
GoogleSearchResultElement[] element=result.getResultElements();
for (int i=0;i<=element.length-1;i++)
{
	// element[i] の情報を使う
}


  スペルミス指摘,キャッシュページの取り出しは, GoogleSearch オブジェクトの doGetCachedPage メソッドや
  doSpellingSuggestion メソッドを呼び出す.

Reference

  Google Web APIs
  https://www.google.com/apis/
  Atsushi's Homepage
  http://www.antun.net/tips/soap/google.html