Skip to content

Instantly share code, notes, and snippets.

@pokutuna
Created July 25, 2011 19:41
Show Gist options
  • Save pokutuna/1104993 to your computer and use it in GitHub Desktop.
Save pokutuna/1104993 to your computer and use it in GitHub Desktop.
import java.util.*;
import com.pokutuna.lifelog.db.model.SensingModel.BtDetected;
public class SetSample {
public static void main(String[] args) {
//もともとあるリスト
List<String> list = new LinkedList<String>();
list.add("hoge");
list.add("hoge");
list.add("fuga");
list.add("fuga");
list.add("piyo"); //hogeとfugaが重複してる
System.out.println("--- List ---");
for(String str : list) {
System.out.println(str);
}
/*
--- List ---
hoge
hoge
fuga
fuga
piyo
*/
//重複のないコレクションを使いたいならSet(集合)をつかう
Set<String> set = new HashSet<String>(list); //Setにさっきのリストをぶちこむ
System.out.println("--- Set ---");
for(String str : set) {
System.out.println(str);
}
/*
--- Set ---
fuga
hoge
piyo
*/
//重複が消えてる! 順序は保存されない
List<BtDetected> btlist = new LinkedList<BtDetected>(); //実際は sdao.btDetectedIn(start, end)
btlist.add(new BtDetected("Addr1", "Time1"));
btlist.add(new BtDetected("Addr2", "Time2"));
btlist.add(new BtDetected("Addr1", "Time3"));
btlist.add(new BtDetected("Addr3", "Time4"));
btlist.add(new BtDetected("Addr2", "Time5"));
//検出時刻の違いは無視って、これをAddr1, Addr2, Addr3 だけにしたい
Set<String> addrSet = new HashSet<String>(); //Setつくる
for(BtDetected btd : btlist) {
addrSet.add(btd.address()); //アドレスだけ取り出していれる
}
System.out.println("--- Addresses ---");
for(String addr : addrSet) {
System.out.println(addr);
}
/*
--- Addresses ---
Addr3
Addr1
Addr2
*/
//きえてる!
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment