import java.util.*;
import java.lang.*;
import java.io.*;

class Ideone
{
	public static void main (String[] args) throws java.lang.Exception
	{
		// n人分のデータを作り
		int n = 100000;
		Random rand = new Random();
		String[][] customer = new String[n][2];
		for (int i = 0; i < n; i++)
			customer[i][0] = String.valueOf((char) (rand.nextInt(26)+'a')) + i + "@ab.com";
		for (int i = 0; i < n; i++)
			customer[i][1] = i + "さん";
		
		// メールアドレスでソートします
		Arrays.sort(customer, (c1, c2) -> c1[0].compareTo(c2[0]));
		
		// キーをメールアドレス、値を名前としたハッシュマップも作ります
		Map<String, String> hashmap = new HashMap<>(n);
		for (String[] c : customer)
			hashmap.put(c[0], c[1]);
		
		// 同じcustomer(101番目)の名前が取れる
		System.out.println(customer[101][0] + "の名前は" + customer[101][1]);
		// ハッシュマップからメールアドレスで取ることもできる
		System.out.println(customer[101][0] + "の名前は" + hashmap.get(customer[101][0]));
		System.out.println("確認終わり");
		
		// では、m人分のメールアドレスを適当に選んで
		int m = 1000;
		String[] keys = new String[m];
		for (int j = 0; j < m; j++)
			keys[j] = customer[rand.nextInt(n)][0];
		
		// １人ずつ
		for (int j = 0; j < m; j++){
			String key = keys[j];
			// 検索してみましょう
			
			// TODO
			String found = null;
			
			if (j % 100 == 0) {
				System.out.println(key + "の名前は" + Objects.toString(found, "不明"));
			}
		}
	}
}