Streamを使ったgroup化

まずは実際のソースコード。 今回は(ちょっと古いが)「このマンガがすごい」をオブジェクトにしてみた。 ComicRank cr1 = new ComicRank(2015, "こえのかたち", Genre.Men, 1); ComicRank cr2 = new ComicRank(2015, "魔法使いの嫁", Genre.Men, 2); Comic…

Streamを使った並び替え

とりあえずいつもの。(準備) Person p1 = new Person("abc", 30); Person p2 = new Person("def", 25); Person p3 = new Person("ghi", 17); Person p4 = new Person("jkl", 8); Person p5 = new Person("mno", 30); List<Person> list = new ArrayList<>(); list.</person>…

オブジェクトのリストをArrayList<ArrayList<String>>に変換する

オブジェクト(今回はPersonオブジェクト)のリストを Personオブジェクトのプロパティ文字列のリストに変換する。 (Personはnameとageのプロパティを持つ) public class ServiceClass { private int cnt; { cnt = 1; } public void hoge() { Person p1 = …

Enumで遊ぶ

javaのenumでいろいろやってみよう。 まず、enumに定数固有の数値を持たせる。 enum Nums { ZERO(0), ONE(1), TWO(2), THREE(3); int index; private Nums(int index) { this.index = index; } String get(List<String> list) { return list.get(this.index); } } こ</string>…

Python基礎いろいろ

さーて、本日はPythonの基本的な文法のまとめだよー! 1. Pythonは動的型付 a = 10 b = 'string' print(type(a)) print(type(b)) と、いうわけで、上記のように、変数の宣言時に型の宣言は必要ない。 (JavaではintとかStringとかで宣言してるよね。) 変数の…

Java 可変長引数の使い方

可変長引数は、同一の型の引数について、 呼び出し元から渡される引数の数が不定の場合に有用な方法である。 が、使用方法を誤るといろいろ面倒なことになるそうなので、以下にメモ。 とりあえず、使い方を書いてみる。 //渡された可変長引数の中から、最長…

Pythonいろいろメモ

1.文字列を配列にするにはlist()を使用する input = 'abcdef' array = list(input) print(array) →[‘a’,‘b’,‘c’,’d',‘e’,‘f’] 2.条件分岐 a = 10 if a == 10: print('10!') elif a < 10: print('under 10!') else : print('over 10!') こんな感じ。 Javaでは…

Java Streamで遊ぶ

Streamの大まかな流れ Stream化 → 中間処理(→中間処理→中間処理→・・) →終端処理 やってみる public static void main(String[] args) { List<Person> persons = new ArrayList<>(); Person taro = new Person("taro", 20); Person jiro = new Person("taro", 22);</person>…

Pythonでクイックソート

と、いうわけでPythonのクイックソート。 def quicksort(array): if len(array) < 2: return array else: pivot = array[0] #ピボットよりも小さい要素をすべて含んだ部分配列 less = [i for i in array[1:] if i <= pivot] #ピボットよりも大きい要素をすべ…

特定のフォルダにある特定の名前から始まるファイルだけを操作する

public static void main(String[] args) { //フォルダの指定 File file = new File("C:\\Users\\User\\test"); //#listFiles(FileFilter)を使用して特定の名前(test)から始まるファイルだけを操作対象にする Arrays.stream(file.listFiles(f -> f.getName…