Collector.of(
TreeMap::new,
(map, e) -> map.put(e.getKey, e.getValue()),
(left, right) -> {left.putAll(right); return left;}
EnumSet.of(Collector.Characteristics.UNORDERED, Collector.Characteristics.IDENTITY_FINISH))
NavigableMap<Integer, Items> result = new TreeMap<>();
...forEach(e -> result.put(e.getKey(), e.getValue())
Хорошим программистом можно стать только если это занятие нравится. По крайней мере в первые годы это занятие должно приносить удовольствие само по себе. Это должно быть стремление, страсть, талант. Если бы у вас это было, вы бы вопросы здесь не задавали, а просто программировали. Не важно что.
То, что вам, похоже, нужно - это быстрый заработок. Для этого нужно изучить спрос, и сопоставить его с вашими возможностями. Здесь уже писали, что хороший источник статистики спроса - это фриланс-биржи. Смотрите заказы, ищете наиболее популярные темы. Всякие там Wordpress и django с RoR для веб, а может что-то по мобильной разработке, но это уже сложнее. Смотрите, что это такое (по попсовым темам очень много материалов), изучаете (попсовые темы потому и попсовые, что легки в освоении) и практикуетесь.
С выходом на фриланс лучше повременить. Не имея опыта можно сходу угробить себе репутацию, а исправить это тяжело. Лучше пойдите к кому-нибудь в подмастерья. Есть у вас на районе веб-студии небольшие? Вот к ним. У них вечно работы больше, чем исполнителей. И не звездите сразу. Подмастерья зарабатывают мало. Немного опыта на реальных проектах - и вы готовы конкурировать с индусами на фриланс-биржах...
switch (principal.getAuthMethod()) {
case LOGIN: /* Login / password auth */
break;
case CERTIFICATE: /* Certificate auth */
break;
}