Advertisement
Guest User

Untitled

a guest
Jan 16th, 2019
53
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.23 KB | None | 0 0
  1. import java.util.LinkedHashMap;
  2. import java.util.Map;
  3. import java.util.Objects;
  4.  
  5. public class Main {
  6.   public static final String TEST_STRING = "фисвуапршолдьтщзкыегнралоылйцщшцгйкзщйкотлимлффжывоатлдоишдозофыщвптблиропшгфогщцзйцзйцаоясчтмлодравргшоТуИП  ШГЩЩЗАлпщавозоы1УУфисвуапршолдьтщзкыегнралоылйцщшцгйкзщйкотлимлффжывоатлдоишдозофыщвптблиропшгфогщцзйцзйцаоясчтмлодравргшоТуИП  ШГЩЩЗАлпщавозоы1УУD";
  7.  
  8.   public static void main(String[] args) {
  9.     System.out.println(mapy(TEST_STRING));
  10.     System.out.println(strelki(TEST_STRING));
  11.   }
  12.  
  13.   public static Character mapy(String str) {
  14.     System.out.println("Мапы started");
  15.     long time = System.nanoTime();
  16.     try {
  17.       Integer count;
  18.       Map<Character, Integer> hmap = new LinkedHashMap<>();
  19.       for (Character ch : str.toCharArray()) {
  20.         count = hmap.get(ch);
  21.         if (count == null) {
  22.           hmap.put(ch, 1);
  23.         } else if (count == 1) {
  24.           hmap.put(ch, 2);
  25.         }
  26.       }
  27.       for (Map.Entry<Character, Integer> entry : hmap.entrySet()) {
  28.         if (entry.getValue() == 1) return entry.getKey();
  29.       }
  30.       return null;
  31.     } finally {
  32.       System.out.println("Мапы ended " + (System.nanoTime() - time));
  33.     }
  34.   }
  35.  
  36.   public static Character strelki(String str) {
  37.     System.out.println("Стрелки started");
  38.     long time = System.nanoTime();
  39.     try {
  40.       Map<Integer, Integer> hmap = new LinkedHashMap<>();
  41.       str.chars()
  42.           .forEachOrdered(ch -> {
  43.             Integer count = hmap.get(ch);
  44.             if (count == null) {
  45.               hmap.put(ch, 1);
  46.             } else if (count == 1) {
  47.               hmap.put(ch, 2);
  48.             }
  49.           });
  50.       return (char) (Objects.requireNonNull(hmap.entrySet().stream()
  51.           .filter(e -> e.getValue() == 1)
  52.           .findFirst()
  53.           .orElse(null))
  54.           .getKey().intValue());
  55.     } finally {
  56.       System.out.println("Стрелки ended " + (System.nanoTime() - time));
  57.     }
  58.   }
  59. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement