// Java program to convert User[]
// into Map<city, countOfUser>
import java.util.Arrays;
import java.util.Map;
import java.util.stream.*;
// Implementing the user class
public class User {
// Parameters of the user class
private int userId;
private String name;
private String city;
// Constructor
public User(int userId, String name,
String city)
{
this.userId = userId;
this.name = name;
this.city = city;
}
// Getter functions
public int getUserId() { return userId; }
public String getName() { return name; }
public String getCity() { return city; }
// Overriding the toString() method
// to create a custom function
@Override
public String toString()
{
return "User [userId = "
+ userId + ", name = "
+ name + ", city = "
+ city + "]";
}
}
class GFG {
public static Map toMap(User user1,
User user2,
User user3,
User user4,
User user5)
{
Map<String, Long>
cityUserCountMap
= Arrays.asList(user1, user2, user3,
user4, user5)
.stream()
.collect(
Collectors.groupingBy(
User::getCity,
Collectors.counting()));
return cityUserCountMap;
}
// Driver code
public static void main(String[] args)
{
// Creating new users
User user1
= new User(1, "User1", "Pune");
User user2
= new User(2, "User2", "Mumbai");
User user3
= new User(3, "User3", "Nagpur");
User user4
= new User(4, "User4", "Pune");
User user5
= new User(5, "User5", "Mumbai");
System.out.println(toMap(user1, user2,
user3, user4,
user5));
}
}