code: public static Map<String, String[]> splitMap(Map<String, String[]> src, double rate)
      {
          assert 0 <= rate && rate <= 1;
          Map<String, String[]> output = new TreeMap<String, String[]>();
          for (Map.Entry<String, String[]> entry : src.entrySet())
          {
              String[][] array = spiltArray(entry.getValue(), rate);
              output.put(entry.getKey(), array[0]);
              entry.setValue(array[1]);
          }
  
          return output;
      }
docs: 分割Map,其中旧map直接被改变
  @param src
  @param rate
  @return