جاوا 8 چندین روش پیشفرض و ابزارهای کاربردی را در رابط نقشه معرفی کرد، هدف از این روشها/بهبودهای جدید کمک به مهندسان در نوشتن کد مختصرتر و پیروی از الگوی مکالمه است. این مقاله پیشرفت های جدید را با مثال ها و جزئیات معنی دار توضیح می دهد.
مرتب سازی
مرتب سازی دو عملکرد جدید دارد که به ما در مرتب سازی ورودی های نقشه بر اساس کلیدها و مقادیر کمک می کند.
- Entry.comparingByKey
- Entry.comparingByValue
HashMap از کارمندان را در نظر بگیرید که در آن کلید رشته (نام کارمند) و مقدار عدد صحیح (سن) است.
Map.ofEntries(entry("David", 40),
entry("Sameer", 36),
entry("Mick", 51),
entry("Trent", 55));
از آنجایی که HashMap هنگام بازیابی ورودی ها از HashMap ترتیب را دنبال نمی کند، آنها را به ترتیب تصادفی برمی گرداند. برای مرتبسازی نقشه کارکنان بر اساس نام (مرتبسازی به ترتیب طبیعی) باید از روش comparingByKey که افزودنی جدیدی در رابط ورودی است استفاده کرد.
employees
.entrySet()
.stream()
.sorted(Map.Entry.comparingByKey())
.forEach((e) -> System.out.println(e.getKey() + " - "+ e.getValue()));
دیوید – 40
میک – 51
سامیر – 36
ترنت – 55
کد بالا داده ها را به ترتیب صعودی اسامی چاپ می کند. برای مرتبسازی دادههای کارمند بر اساس سن، باید از روش «comparingByValue» استفاده شود.
employees
.entrySet()
.stream()
.sorted(Map.Entry.comparingByValue())
.forEach((e) -> System.out.println(e.getKey() + " - "+ e.getValue()));
سامیر – 36
دیوید – 40
میک – 51
ترنت – 55