解説動画
前回のコピー同様、サブフォルダを含んだ一括削除はそのままできないので、再帰的に行います。
こちらもメソッドで再帰せず、クラスで再帰してます。
■動画はこちら
■Youtube版の解説で使用しているソースコード
動画と一緒にこちらも参考にどうぞ。
1 2 3 4 5 6 7 8 | public class BushoListEntry2 { public static void main(String[] args) { BushoList2 bList = new BushoList2(); bList.execute(); } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | public class BushoRec { private String id = null; private String jinmei = null; private String jinmeiKana = null; private int tanjouNen = -1; public BushoRec(String id,String jinmei,String jinmeiKana,int tanjouNen) { this.id = id; this.jinmei = jinmei; this.jinmeiKana = jinmeiKana; this.tanjouNen = tanjouNen; } public String getId() { return id; } public void setId(String id) { this.id = id; } public String getJinmei() { return jinmei; } public void setJinmei(String jinmei) { this.jinmei = jinmei; } public String getJinmeiKana() { return jinmeiKana; } public void setJinmeiKana(String jinmeiKana) { this.jinmeiKana = jinmeiKana; } public int getTanjouNen() { return tanjouNen; } public void setTanjouNen(int tanjouNen) { this.tanjouNen = tanjouNen; } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; public class BushoList2 { public void execute() { //武将レコードのリストを作成、武将データを格納 ArrayList<BushoRec> recList = new ArrayList<BushoRec>(); recList.add(new BushoRec("KAI001", "武田信玄", "タケダシンゲン", 1521)); recList.add(new BushoRec("ETH001", "上杉謙信", "ウエスギケンシン", 1530)); recList.add(new BushoRec("OWR001", "織田信長", "オダノブナガ", 1534)); recList.add(new BushoRec("OWR002", "豊臣秀吉", "トヨトミヒデヨシ", 1537)); recList.add(new BushoRec("MKW003", "徳川家康", "トクガワイエヤス", 1543)); //ソート前の武将レコードのリストを出力 print(recList,"-- ソート前 --"); //ソート(人名の読みカナの昇順) List<BushoRec> sortedList = recList.stream() .sorted(new BushoListComparator()) .collect(Collectors.toList()); //ソート後の武将レコードのリストを出力 print(sortedList,"-- ソート後 --"); } private void print(List<BushoRec> recList, String message) { //メッセージと武将レコードのリストデータを出力 System.out.println(message); for(BushoRec rec : recList) { String str = "【ID】" + rec.getId() + "【人名】" + rec.getJinmei() + "【読みカナ】" + rec.getJinmeiKana() + "【誕生(西暦)】" + rec.getTanjouNen(); System.out.println(str); } } } |
1 2 3 4 5 6 7 8 9 10 | import java.util.Comparator; public class BushoListComparator implements Comparator<BushoRec> { @Override public int compare(BushoRec o1, BushoRec o2) { return o1.getJinmeiKana().compareTo(o2.getJinmeiKana()); } } |