Когда на ACM ICPC отменили Pascal, мы всей командой перешли на С++ и в течение последних двух лет олимпиадной "карьеры" писали именно на нём. За это время мы неплохо освоили STL.
Кроме того, сейчас на работе я также пишу на С++ (а также использую Qt). Так что могу сказать, что с С++ я знаком неплохо.
Но я решил освоить Java. В олимпиадах мы применяли её только для задач на длинную арифметику, так что представление о ней есть неплохое. Кроме того, я прочитал книгу Джошуа Блоха "Effective Java", поэтому я могу сказать, что я даже в курсе некоторых особенностей этого языка.
Но чего я не знаю, так это основных классов Java SE. Вот у меня и возникла следующая идея. Неплохо было бы, если б кто-то из тех, кто в олимпиадах активно использует/использовал Java, описал "джентельменский" набор классов и их основных методов, которые регулярно приходится применять на контестах. Это будет полезно не только мне, но и всем, кто собирается переходить с, например, Pascal на Java.
Причём я хочу подчеркнуть, что хотелось бы иметь описание классов именно с точки зрения олимпиадного программирования с указанием соответствующих особенностей. Конечно, можно отправить меня к какой-нибудь документации или книге по Java SE. Но там не учтён опыт многочисленных соревнований.
P.S. Сам я подумываю о том, чтобы описать "джентельменский набор" С++-олимпиадника.