Java

Twitterメッセージに含まれる "wwww" のクリーニング

Twitter のメッセージ中には笑いを表現する "wwww" が含まれるケースがある.最悪の場合,140文字の大部分を "wwww" が占める場合もある. (その結果,形態素に分割できないため,KH Coder の127文字制限に引っかかる)というわけで,"www..." や "www..…

Ubuntu上でのAndroid開発環境の構築

(注意)日本語化した Eclipse ではうまく動かなかったため,予め日本語版をアンインストールし,改めて Ubuntu ソフトウェアセンターから Eclipse をインストールした。なお,Synaptic パッケージマネージャ等を用いて Eclipse を削除しても,/usr/local/ec…

SetとMapを行ったり来たり

下記のプログラムを書いて,オブジェクト set と set2 の中身を iterator で順次出力した結果,同じ順番で文字列が表示されたけれど,この結果はあらゆる Java の実装系で同一と保証されているのだろうか? import java.io.*; import java.util.Set; import …

Twitter REST API を用いてフォロワーの一覧を得る

//package twitter.misc; /* ** Twitter REST API の statuses/followers メソッドを利用して, ** 指定したユーザのフォロワーを収集する. ** ** [statuses/followers の説明ページ] ** http://apiwiki.twitter.com/w/page/22554748/Twitter-REST-API-Meth…

Twitter Search API の利用

もっとも基本的なプログラムを書いた. package twitter.search; /* ** Twitter Search API の search メソッドを利用して ** ツィートを収集するプログラム ** (メモ) Twitter Search API では認証が不要. */ import java.net.*; import java.io.*; import…

java.util.Calendar と TimeZone と java.text.SimpleDateFormat

日本時間の 2011年4月12日 13時50分 (JST) を UTC (Universal Time, Coordinated) に変換して,Tue Apr 12 04:50:00 +0000 2011 (UST) の形で表現する. import java.io.*; import java.util.GregorianCalendar; import java.util.Calendar; import java.uti…

Weka を用いたクラスタリング

k-means法により Iris データをクラスタリングした. import java.io.*; import weka.core.*; import weka.clusterers.*; import weka.filters.*; import weka.filters.unsupervised.attribute.Remove; public class WekaClustering { public static void ma…

WEKA

WEKA のページ (http://www.cs.waikato.ac.nz/ml/weka/)中の Download から "Other platforms (Linux etc.)"用の weka-3-6-3.zip をダウンロード.ただし,張られているリンク先は weka-3-6-2.zip のため,http://prdownloads.sourceforge.net/weka/weka-3-6…

ジェネリクス付きクラスの配列

java.util.ArrayList の配列を作るには,次のようなコードが必要. // ジェネリクス付きクラスを再定義 static class StringArrayList extends ArrayList<String> {} public static void main(String[] args){ // これは NG. /* ArrayList<String>[] al = new ArrayList<String>[4]; </string></string></string>…

Webページを文字コードを変えずに取得して,コード判定 & コード変換

コード判定には juniversalchardet : Java port of universalchardet を用いる.ここから juniversalchardet-1.0.3.jar を落としてきて,適当なディレクトリに保存.文字コード(encoding)を判定できたら,byte[] 型に入れたデータと合わせて,String へ変換…

コレクションクラスに関する有用リンク

以下は自分のためのメモ アプリケーションに最適なJavaコレクションクラスを選ぼう(2/3):CodeZine(ある程度,コレクションクラスを理解できたらよむべき.「最適なコレクションクラスの選択」と題して,各クラスの特徴を説明している)

コレクションクラス

学生が set や map などのコレクションクラスの勉強を始めたから,入門として学び易そうなページをリストアップ. はじめてのJava入門[コレクションフレームワーク(コレクションフレームワークとは)](generics に対応していないが,シンプルな内容) (詳細…

HashMap のキーに自作クラスを使うには

以下のように自作のクラスを定義して,HashMap という形で使いたいとする. class CoPair { String s1; String s2; .... }この場合,CoPair クラス内で equals(CoPair cp) と hashCode() の2つのメソッドを オーバーライドしなければならない.詳細は エン…

Senを呼び出すプログラムの書き方

Sen の API を利用したプログラムの実行は $ java -Dsen.home=${SEN_HOME} foo のように sen.home を指定してもよいが,もっと楽をするならば以下のいずれかのコードを書けばよい.[方法その1] プログラム内で環境変数 sen.home を定義する System.setPrope…

形態素解析システム sen における辞書への単語登録

以下は sen-1.2.2.1 を用いた場合の単語登録について述べている.バージョンによって build.xml の書式が異なるため,適時読み替えること.sen が利用する辞書は /usr/local/sen/dic/dic.csv である.このファイルの各行(レコード)は次のようになっている…

オブジェクトをソートする方法

以下のページに ArrayList に格納したオブジェクトをソートする方法が書かれている。 予想通り Comparator を実装するわけね。http://www.kadoppe.net/2008/02/javaarraylist.htmlしかし、ソート対象のクラスの中に「大小比較を行うメソッド」があると理想的…

HashMap の使い方

import java.util.HashMap; import java.util.Set; import java.util.Iterator; public class hashMap { public static void main(String[] args) { String key = "宇部市"; // キー Integer value = new Integer(32000); // 値 // HashMap の生成 HashMap<String,Integer> m</string,integer>…

Calendarクラスを用いたサンプルプログラム

import java.util.GregorianCalendar; import java.util.Calendar; public class CalendarSample { static void printCalendar(GregorianCalendar cal){ int year = cal.get(Calendar.YEAR); int month = cal.get(Calendar.MONTH); int date = cal.get(Calen…

ディレクトリ下のファイル一覧を取得する

// あるディレクトリ下のファイル一覧を得る import java.io.File; public class DirectoryList { public static void main(String[] args) { // ディレクトリ TEST に対応するファイルオブジェクトの生成 File dir = new File("TEST"); // ディレクトリ TES…

ファイルの中身をひとつの StringBuffer に入れる

import java.io.FileReader; int ch; StringBuffer strBuf = new StringBuffer(); FileReader fileRd = new FileReader("foo.txt"); while((ch = fileRd.read()) != -1){ strBuf.append((char)ch); } System.out.print(strBuf);