tanakahdaのプログラマ手帳

プログラミングとかソフトウェア開発とかの備忘録

ラムダ式でComparatorを実装する@Java

		String[] names = {"tanaka", "tomita", "ito", "kenmoto"};

		// ラムダ式を使わない場合
		class LengthComparator implements Comparator<String> {
			@Override
			public int compare(String o1, String o2) {
				return Integer.compare(o1.length(), o2.length());
			}
		}
		Arrays.sort(names, new LengthComparator());
		System.out.println(Arrays.toString(names));

		// ラムダ式を使った場合
		Arrays.sort(names, (String o1, String o2)
				-> Integer.compare(o2.length(), o1.length()));
		System.out.println(Arrays.toString(names));
[ito, tanaka, tomita, kenmoto]
[kenmoto, tanaka, tomita, ito]