- PR -

Javaで複数の要素を持つ配列の一つをソートしたいときの方法

投稿者投稿内容
キキ
常連さん
会議室デビュー日: 2005/08/31
投稿数: 29
投稿日時: 2005-09-01 17:13
現在ArrayListで並べなおしたものを作っています。


al ="[0406-次郎-講師,0831-太郎-学生,1005-花子-教師]"

これをコンマごとに取り出して配列に入れて表示させたいのですが、
ArrayListからコンマ区切りにする方法が見つからずとまっています。
こんな感じ(st = new StringTokenizer(al, ","); )のを使えばいいのはわかっているのですが、うまくいきません。
いい方法はないでしょうか。

(違うスレ立てたほうがいいでしょうか?)
キキ
常連さん
会議室デビュー日: 2005/08/31
投稿数: 29
投稿日時: 2005-09-01 17:32
あっと、できたっぽいです。

String line = (String)al.get(0+1+2);

で、新たな疑問^^;
getで1個ずつ指定するのめんどくさいのでtoArrayっぽいのでためし中です。
さる
ぬし
会議室デビュー日: 2005/07/14
投稿数: 276
お住まい・勤務地: 実家戻ったw
投稿日時: 2005-09-01 19:30
引用:

117さんの書き込み (2005-08-31 22:36) より:
普通(?)のやり方として思いつくのは,番号・コード・名前をフィールドに持つクラスとそのクラス用のComparatorを作って文字列をもとにインスタンスを作って配列に格納,というところですが.



>キキさん
117さんが教えてくださってるやり方を試してみませんか?
普通のやり方をしない理由は特にないように見えますが。
キキ
常連さん
会議室デビュー日: 2005/08/31
投稿数: 29
投稿日時: 2005-09-01 19:35
えと、今ひとつ理解ができなかったので理解できたところだけを使って進めてる感じなんですが(汗)
遠回りしてますよね、やっぱり…
さる
ぬし
会議室デビュー日: 2005/07/14
投稿数: 276
お住まい・勤務地: 実家戻ったw
投稿日時: 2005-09-01 21:07
さて、次のクラスをどう使いましょう?
(直打ちでコンパイルとかタイポとか気にしてないから)

public class XXXBean implments Comparator {
private Date date = null;
private String name = null;
private String job = null

public Date getDate() {
return date;
}
public String getName() {
return name ;
}
public String getJob() {
return job ;
}

public void setDate(Date date) {
this.date = date;
}
public void setName(String name) {
this.name = name;
}
public void setJob(String job) {
this.job = job;
}

public void setData(String data) {
StringTokenizer tokenizer = new StringTokenizer();
// (分かってるらしいので省略)
// TODO 文字列をカンマでぶった切ってそれぞれに突っ込む
}

public String toString() {
StringBuffer buf = new StringBuffer();
buf.append(date.toString());
buf.append(",");
buf.append(date.toString());
buf.append(",");
buf.append(date.toString());
return buf.toString();
}

public int compare(Object o1, Object o2) {
// がんばれ〜w
}

public boolean equals(Object obj) {
// がんばれ〜w
}
}

SimpleDateFormatも使ってね。

スキルアップ/キャリアアップ(JOB@IT)