java7 프로그램을 java8로 변환하려고합니다. 스트림 API를 사용하여 아래 출력을 원합니다.스트림을 사용하여 목록에서 상위 3 카운트 가져 오기
public List<String> getTopThreeWeatherCondition7() {
List<String> _Top3WeatherList = new ArrayList<String>();
Map<String, Integer> _WeatherCondMap = getWeatherCondition7();
List<Integer> _WeatherCondList = new ArrayList<Integer>(_WeatherCondMap.values());
Collections.sort(_WeatherCondList, Collections.reverseOrder());
List<Integer> _TopThreeWeathersList = _WeatherCondList.subList(0, 3);
Set<String> _WeatherCondSet = _WeatherCondMap.keySet();
Integer count = 0;
for (String _WeatherCond : _WeatherCondSet) {
count = _WeatherCondMap.get(_WeatherCond);
for (Integer _TopThreeWeather : _TopThreeWeathersList) {
if (_TopThreeWeather == count) {
_Top3WeatherList.add(_WeatherCond);
}
}
}
_WeatherCondList = null;
_WeatherCondMap = null;
_TopThreeWeathersList = null;
_WeatherCondSet = null;
return _Top3WeatherList;
}
때문에 태그에 더 많은 사용자와 통화 할 수 이상의 태그를 설정하십시오. 예를 들어, java, java7, java8을 추가하십시오. – manuzi1
getWeatherCondition7(). valueSet(). stream(). sorted (Collections.reverseOrder()). limit (3) .collect (Collections.toList).()); 이것은 올바른 방향으로 시작해야합니다. – AlexC
나는 이것을 "자바 7 프로그램"이라고 부르지 않을 것이다. 먼저 표준 명명 규칙을 사용하십시오. 즉, 변수 이름을'_' + 대문자 대신 소문자로 시작하십시오. 둘째, 사용 후에 변수를 'null'로 지정하지 마십시오. 셋째,'count = 0'와 같이 변수를 사용하지 않는 기본값으로 초기화하지 마십시오. 이러한 문제를 수정 한 후에이를 "Java 프로그램"이라고 부를 수 있습니다.타입 매개 변수를 반복하는 대신 "다이아몬드 연산자"'<>'를 사용하면 자바 7 프로그램이라고 부를 수 있습니다. – Holger