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

2つのリストに存在する要素を抽出したリストを求める(Javaのケース)

先日、Python での 2つのリストに存在する要素を抽出したリストを求める - Oboe吹きプログラマの黙示録 を書いたので、 Java の方を整理して書き留めておく。 Java では、List と Set を意識して使いたいので、求める結果は Streamになるメソッドを 用意す…

2つのリストに存在する要素を抽出したリストを求める

l1 = [1, 2, 4, 5, 7, 9] l2 = [2, 3, 4, 6, 8] list ⇒ set(集合)に変換して積を求めて list に戻す s1 = set(l1) s2 = set(l2) s3 = s1 & s2 l3 = list(s3) l3 は、 [2, 4] 集合演算子 & で計算する代わりの積のメソッド(intersection)、 s3 = s1.intersect…

range(範囲)を生成する課題

範囲の幅から計算した範囲の数ではなく最大値で制限した範囲の処理をする課題が目的、 範囲の数を指定できる場合と比べていく。Java の場合、範囲幅=100 で、5個の範囲の処理、この 5個と指定できる場合は次のように簡単に書ける。 すなわち、IntStream.rang…

ウィンドウ関数を使ってグルーピングの先頭を抽出する

SQL

OVER() の PARTITION BY でグルーピングした中で、ORDER BY した先頭を抽出する。DBは、Oracle 、PostgreSQL、MySQL も同じ例)テーブル JOB_RESULTS を JOB_CD 列でグルーピングして POINT列 の ORDER BY DESC の結果、先頭を抽出する。ROW_NUMBER() を OVE…