Java初心者の競技プログラミング日記

Dvorak配列でjavaを書いてます

Java(文法)

可変長引数を用いた、最大値・最小値を求めるメソッド

可変長引数なるものがあることを(たった今)知りました。面白い書き方だったので、すぐにメモすることに。 import static java.lang.System.*; import java.util.*; public class Main { static Scanner sc = new Scanner(System.in); public static void m…

ラムダ式の使いかたメモ

ラムダ式の使いかたを雑然とメモしていく記事です。 リスト、マップを出力する list.forEach(e -> out.println(e)); //リストを回して出力 map.forEach((key,value) -> out.println(key+" "+value); //マップを回して出力 とくにマップを出力するときには便…

マップを値でソートする方法

マップを値でソートする方法については以前記事にしたのだけれども、マップを値でソートするメソッド - Java初心者の競技プログラミング日記あまりに冗長すぎるのでもっと短く書ける方法を探した。見つかった。 //昇順 map = map.entrySet().stream() .sorte…

自作クラスの入ったリスト・配列をソートする方法

まずはリスト。 class Point { int x; int y; char color; Point(int a, int b, char c) { this.x = a; this.y = b; this.color = c; } int getX() { return this.x; } int getY() { return this.y; } char getColor() { return this.color; } } クラスPoint…

ArrayDequeとLinkedList

基本的にはArrayDequeとLinkedListのどちらも、キュー・スタックとして使えるようだ。先頭に挿入:addFirst 末尾に挿入:addLast先頭を取得:getFirst 末尾を取得:getLast先頭を取得して削除:removeFirst 末尾を取得して削除:removeLastここまではArrayDe…

Javaで基数変換(10進数からn進数、n進数から10進数)

yukicoderの[No.499 7進数変換]を解いていて、10進数で与えられる数値を7進数に変換する必要があったので、自分は数値を7で割りながらその余りを求めていく方法で解いた。以下がその僕の回答だ。 #236582 No.499 7進数変換 - yukicoderしかし調べていくと、…

Javaの型変換について

Javaのデータ型は、基本型(プリミティブ型)や参照型、クラス型などさまざまに分類され、型変換のさいには山ほどの規則と注意点があるということなのだが、ここではとりあえず、それぞれの型同士の相互変換が成り立つか、成り立つとすればどのような方法で…

Mapをキーでソートする方法

マップをソートするには、まずキーをObject型の配列に格納し、配列をソートして、その配列をもとにしてマップから順番に値を取り出していく……ということを以前はやっていたのだが、よくよく調べてみると、自動でソートしてくれるTreeMapなるものが存在してい…

substringの範囲

いまいち分かりにくい、substringの範囲について。 例えば次のプログラム。 import java.util.*; public class Main { static Scanner sc = new Scanner(System.in); public static void main(String[] args) { String s = "abcde"; System.out.println(s.su…