groupingBy と toMap のメモ

Java Stream groupingBy と toMap のメモを今更だけど、テンプレートとしてメモの整理 List<Item> list groupingBy Map<String, List<Item>> map = list.stream().collect(Collectors.groupingBy(t->t.name)); ちゃんと書く Map<String, List<Item>> map = list.stream().collect(Collectors.groupingBy(t</string,></string,></item>…

長さ制限しない重複順列

先日公開した要素の重複(繰り返しを許す)順列、RepeatablePermutation yipuran-core/RepeatablePermutation.java at master · yipuran/yipuran-core · GitHub これは、元のリストより大きい長さの順列を抽出しようとすると、 size over の IllegalArgument…

Java マップの値からキーの参照

過去、何度も書いているかもしれない「マップの値からキーの参照」という命題 結果をStream で取得することにして、、、 public static <K , V> Stream<K> getKeysWithValue(Map<K, V> map, V v){ return map.entrySet().stream() .filter(e->v.equals(e.getValue())).map(Ma</k,></k></k>…

重複順列

要素の重複有りの順列(Permutation)を Java で、いろんなオブジェクトに対して作成できるようにする。 import java.util.ArrayList; import java.util.Arrays; import java.util.List; /** * RepeatablePermutation */ public class RepeatablePermutation<T></t>…

hashCode と equals を簡単に実装

Java クラスの hashCode と equals メソッドを手書きするのは、結構面倒くさい。 IDE Eclipse で自動生成してもいいけど、毎回、各々これで書くのもなんだか。。。Apache の commons-lang3 にある hashCode と equals のビルダーを使うと、 書く量も少な…

東京オリンピック延期なら、Java祝日計算プログラムをまた、修正しなきゃならない。。。

3月24日のニュースを聞いて、東京オリンピックが1年延期なら、 またもや、Java祝日計算プログラムを修正しなきゃならない。のか!?Java祝日計算 プロジェクト日本語トップページ - OSDNプログラムは、2020年限定の処理部分を修正すれば良いのだが、 以…

配列、リストの要素が全て同じかチェックする

Java8 でも動くことを前提にする。(まだ Java8 を使う企業が多いからだ)配列 equals で比較できる場合 public static <T> boolean matchElements(T[] ary) { if (ary.length < 2) return true; for(int i=0, j=1; j < ary.length; i++, j++) { if (!ary[i].eq</t>…

リスト要素の重複チェック

先日、リスト要素の重複チェックに、なるほど唸ってしまったものを方法を見つけました。 Java8 Streamの重複チェック (Collectorを使ってきれいに書く) - Qiita static<T> Collector<T,?,Boolean> uniqueElements(){ Set<T> set = new HashSet<>(); return Collectors.reducing(</t></t,?,boolean></t>…

ツール daria の重複チェックを考える(2)

GitHub - yipuran/daria: Database data set Toolを更新しました。詳細は Wiki に書きましたが抜粋すると、、 https://github.com/yipuran/daria/wiki Excel 1行目のDBテーブル列名の書式を、太字にすることで対象の列データ一意制約チェックを実行して、…

Homogeneous を追加

yipuran-core に、要素の重複を許す組み合わせを算出する Homogeneous を追加しましたバージョンは、 4.12要素の重複を許す組み合わせ - Oboe吹きプログラマの黙示録を実装した。yipuran-core/Homogeneous.java at master · yipuran/yipuran-core · GitHub

Combinations のインスタンス生成を修正することにした

申し訳ないが、yipuran-core の Combinations のインスタンス生成方法を、ver 4.10 から 変えることにした。 使い回すようにしたいからだ。yipuran-core/Combinations.java at master · yipuran/yipuran-core · GitHub

要素の重複を許す組み合わせ

yipuran-core で書いた Combinations yipuran-core/Combinations.java at master · yipuran/yipuran-core · GitHub は、要素の重複を許さない、組み合わせだ。 つまり、"A", "B", "C" の組み合わせで、"AAA" や、"AAB" という解を許さない Combination であ…

ツール daria の重複チェックを考える(1)

Excel で記述したデータを Database テーブルにセットするツール daria GitHub - yipuran/daria: Database data set Tool で、実装していない機能がある。 それは、格納するデータの重複制限チェックである。 daria は、DBの対象テーブル構造をチェックす…

オブジェクトのコピーで除外フィールドを指定可能とするかどうか

以前作成した yipuran-core の中のField ユーティリティ yipuran-core/FieldUtil.java at master · yipuran/yipuran-core · GitHubこれに、コピー元のフィールドで、コピー除外対象を指定できるようにした方が良いか迷っている。 → FieldUtil に新しい stati…

mysqldump → リストアで外部キー制約エラーの回避 

SQL

MySQL で、外部キーのあるテーブルがあるスキーマを mysqldump で採取した SQLソースを そのままリストアに使うと Foreign key constraint is incorrectly formed となる場合がある。そんな場合の解決方法、、 SET FOREIGN_KEY_CHECKS=0; をSQLの先頭に記…

JavaScript JSON のパターン・キーの値が全て同じかどうか調べる

Java ではなくて JavaScript の処理です。(あまり書きたくない JavaScript です。様々な理由で書きます) お題:以下のJSON で、unit001~3 のキーの値が全て同じであるか調査します。 const obj = { unit001: '0_1_2', unit002: '0_1_2', unit003: '0_1_2',…

URL パラメータを取得するJavaScript

URL パラメータを取得するJavaScript コードは、結構いろんな書き方がネット検索すると紹介されてるが、 cool と思ったものを見つけました。 stackoverflow.comURL指定もしくは省略でキー名の値を取得 function getUrlParam(name, url) { if (!url) url = wi…

morpheus ?

ちょっと気になった。。 GitHub - zavtech/morpheus-core: The foundational library of the Morpheus data science framework

Field の getType は、Class

よく落ち着いてみれば、Java リフレクションの Field の getType の返却は、Class だから、以前書いた 入れ子構造のBean の中の Obejct を取得する(2) - Oboe吹きプログラマの黙示録 も、以下のとおり書き直せる。 import java.lang.reflect.Field; impor…

依存関係のライブラリ(JAR)を含めた実行可能JAR を Gradle で作成する

Gradle の jar タスクは以下のようにする。 jar { excluse 'MET-INF/*.SF', 'MET-INF/*.DSA', 'MET-INF/*.RSA', 'MET-INF/*.MF', manifest { attributes 'Main-Class': 'org.yips.HellowMain' 'Class-Path': configurations.runtime.files.collect { "lib/%i…

JSON のソート(Javascript)

Python 使用時の JSON ソートを書いたので、次は JavaScript ↓ oboe2uran.hatenablog.com同様のJSONデータとする。 var data = { "title": "サンプル", "records": [ {"item": "item 2", "point": 74.68, "date":"2020-02-01" , "memo":"う" }, {"item": "it…

JSON のソート

Python での JSON のソートサンプルdata.json { "title": "サンプル", "records": [ {"item": "item 1", "point": 4.63 , "date":"2020-02-02" , "memo":"あ" }, {"item": "item 2", "point": 74.68, "date":"2020-02-01" , "memo":"う" }, {"item": "item 3…

BATファイルへのドラッグ&ドロップ

なぜか、気がつかなった。。。 BATソース内、 変数名 %1 , %2 , %3 , .....BATファイルアイコンに、Window で選択したファイルをドラッグ&ドロップすると ドロップしたファイルパスが渡る。 以下のように、BATをを書いてみればわかる。 @echo off set f1=%1…

JSONの整形

JavaScript , Python, Java(gson) それぞれのJSON整形JSON 素材 {"a":1,"b":"ABC","c":[1,2,3],"d":{"A":"x", "e":{ "B":23, "C":45},"f":null}} JavaScript JSON.stringify で充分、詳細は、JSON.stringify() - JavaScript | MDN をよく読むこと。 const da…

入れ子構造のBean の中の Obejct を取得する(2)

入れ子構造のBean の中の Obejct を取得する(1) - Oboe吹きプログラマの黙示録 の続き。。。変数の宣言名でなく型を指定して、Bean の中を探索→入れ子構造も探索で指定型のインスタンスを求める。 ただし、探索に指定する型が重複して持っている場合はう…

入れ子構造のBean の中の Obejct を取得する(1)

入れ子構造のクラス、例えば以下のようなクラス、 (setterやgetterなどはここでは省略) public class Aunit{ private int id; private String name; private Bunit bunit; } public class Bunit{ private String name; private Cunit cunit; } public clas…

markdown ファイルをPDFに変換(ATOMで)

ATOM markdown-preview-enhanced でPDF保存する方法もあるが、 直接、md ファイルからPDF に変換するパッケージもある。https://atom.io/packages/markdown-pdfATOMインストールする時のパッケージ検索キーは、markdown-pdf Ctrl+Shft+C 押下で同じフォルダ…

右端に結果を書いた表のCSVから結果を求める

昨日は、表の最終行に結果を書いた表CSVだったが、右端に置いた表の場合での プログラムはどうなるか、 とても簡単になる。 import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java…

問い合わせマトリクスの実装

複数の条件、条件の数にもよるが表にまとめないと管理が辛いことは、よくあるケースです。 条件数も少なめで、求めた結果も偏りがあるなら、if 文のネストを書いてもなんとか人の思考も 時間的に追いつくでしょう。 案外、条件1つ増えただけでも、数学的に…

daria公開

遂に公開、Excel → Database のツールhttps://github.com/yipuran/daria