[問題] 關於groupingBy排序
小弟程式菜雞,最近想考OCPJP
關於一些考古題
List<Student> stds = Arrays.asList(
new Student("Jessy", "Java ME", "Chicago"),
new Student("Helen", "Java EE", "Houston"),
new Student("Mark", "Java ME", "Chicago"));
stds.stream().collect(Collectors.groupingBy(Student::getCourse))
.forEach((src, res) -> System.out.println(res));
這時候不管new Student建立的順序怎麼換
都會顯示
Java EE
Java ME
但是換成
List<Country> couList = Arrays.asList(
new Country("Japan", Country.Continent.ASIA),
new Country("Italy", Country.Continent.EUROPE),
new Country("Germany", Country.Continent.EUROPE));
Map<Country.Continent, List<String>> regionNames =
couList.stream().
collect(Collectors.groupingBy(Country::getRegion
,Collectors.mapping(Country::getName,
Collectors.toList())));
System.out.println(regionNames);
此時顯示
EUROPE在前
ASIA在後
我自己測試是發現排列的順序變成先建立的放後面
所以該怎麼判斷這時候是使用怎樣排序的?
請各位高手幫我解惑QQ
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 122.121.188.103 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/java/M.1568984262.A.0C7.html
→
09/20 21:28,
5年前
, 1F
09/20 21:28, 1F
→
09/20 21:42,
5年前
, 2F
09/20 21:42, 2F
→
09/20 21:43,
5年前
, 3F
09/20 21:43, 3F
→
09/20 21:44,
5年前
, 4F
09/20 21:44, 4F
→
09/20 21:44,
5年前
, 5F
09/20 21:44, 5F
→
09/20 21:44,
5年前
, 6F
09/20 21:44, 6F
→
09/21 00:25,
5年前
, 7F
09/21 00:25, 7F
→
09/21 00:26,
5年前
, 8F
09/21 00:26, 8F
→
09/21 00:28,
5年前
, 9F
09/21 00:28, 9F
→
09/21 00:29,
5年前
, 10F
09/21 00:29, 10F
→
09/21 00:30,
5年前
, 11F
09/21 00:30, 11F
→
09/21 00:30,
5年前
, 12F
09/21 00:30, 12F
→
09/21 00:37,
5年前
, 13F
09/21 00:37, 13F
→
09/21 00:41,
5年前
, 14F
09/21 00:41, 14F
→
09/21 01:09,
5年前
, 15F
09/21 01:09, 15F
→
09/21 01:09,
5年前
, 16F
09/21 01:09, 16F
→
09/21 01:09,
5年前
, 17F
09/21 01:09, 17F
→
09/21 01:09,
5年前
, 18F
09/21 01:09, 18F
→
09/21 11:14,
5年前
, 19F
09/21 11:14, 19F
→
09/21 11:16,
5年前
, 20F
09/21 11:16, 20F
→
09/21 11:51,
5年前
, 21F
09/21 11:51, 21F
補上兩題選項
A.
[Java EE: Helen:Houston]
[Java ME: Jessy:Chicago, Java ME: Mark:Chicago]
B.
Java EE
Java ME
C.
[Java ME: Jessy:Chicago, Java ME: Mark:Chicago]
[Java EE: Helen:Houston]
D. A compilation error occurs
這題比較好選就直接選B
A.
{EUROPE = [Italy, Germany], ASIA = [Japan]}
B.
{ASIA = [Japan], EUROPE = [Italy, Germany]}
C.
{EUROPE = [Germany, Italy], ASIA = [Japan]}
D.
{EUROPE = [Germany], EUROPE = [Italy], ASIA = [Japan]}
但是這題我就不知道該選A還是B
我自己跑一次是出現A
但如果我在Map前加一段System.out.println(couList);
出來的就是B
※ 編輯: sunkistfool (122.121.188.103 臺灣), 09/21/2019 12:07:43
→
09/21 12:22,
5年前
, 22F
09/21 12:22, 22F
→
09/21 12:23,
5年前
, 23F
09/21 12:23, 23F
→
09/21 12:36,
5年前
, 24F
09/21 12:36, 24F
推
09/21 16:39,
5年前
, 25F
09/21 16:39, 25F
java 近期熱門文章
PTT數位生活區 即時熱門文章