2017-01-01から1ヶ月間の記事一覧

MySQL で UPSERT する時に考えること

SQL

MySQL で UPSERT をするとき、REPLACE を使うべきか? INSERT のオプション ON DUPLICATE KEY UPDATE を使うべきか?REPLACE は、キー重複する行を削除してから INSERT することを考えると、ON DUPLICATE KEY UPDATE の方が 更新する列を指定できるから良い…

日付期間重複の抽出

昨日、書いた日付期間のインターフェース DateSpan これを使って、BiConsumer の 期間が重複している重複日と重複した要素のリストを処理するメソッドを用意します。 public static void booklist(List list, BiConsumer<LocalDate, List<? super DateSpan>> bookConsumer){ AtomicInteger i = </localdate,>…

LocalDate の Stream 生成

開始日 LocalDate と 終了日 LocalDate 、 start 、 end の Stream int len = Period.between(start, end).getDays() + 1; Stream<LocalDate> stream = Stream.iterate(start, t->t.plusDays(1)).limit(len); ちょっと遊んだ、ふざけたコード StreamSupport.stream( Spl</localdate>…

DateSpan

日付期間に関する処理のために。。 import java.time.LocalDate; import java.time.Period; import java.util.AbstractMap; import java.util.AbstractMap.SimpleEntry; import java.util.ArrayList; import java.util.List; import java.util.function.Supp…

Combination の計算する程のことのない単純なペアの処理

単純にリストの項目を要素2個のペアで、全組み合わせの処理をするのに、数式 nCr に相当する処理を書いていたので 沢山の処理になってしまう。要素2個のペアの処理を全組み合わせを単純に行いたい。サンプル List<String> list = Arrays.asList( "a", "b", "c", "d</string>…