Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package me.mayuan.test;
- import java.lang.annotation.Annotation;
- import java.lang.reflect.Field;
- import java.util.HashMap;
- public class Everybody {
- @Person(NAME="tommy",AGE=26,SEX="boy")
- public String tommy = "I am a gay boy";
- @Person(NAME="army",AGE=14,SEX="girl")
- public String army = "I like girls naked body";
- public static HashMap<String, People> createMap(){
- long startTime=System.nanoTime();
- Everybody ea = new Everybody();
- HashMap<String,People> people = new HashMap<String,People>();
- Field[] fields = ea.getClass().getDeclaredFields();
- for(Field f : fields) {
- if(!f.isAccessible())f.setAccessible(true);
- if(f.isAnnotationPresent(Person.class)) {
- Annotation an = f.getDeclaredAnnotation(Person.class);
- Person p = (Person)an;
- String name = p.NAME();
- int age = p.AGE();
- String sex = p.SEX();
- String msg = "";
- try {
- msg = (String)f.get(ea);
- } catch (IllegalArgumentException | IllegalAccessException e) {
- e.printStackTrace();
- }
- People peo = new People(name,age,sex, msg);
- people.put(f.getName(), peo);
- }
- }
- long endTime=System.nanoTime();
- System.out.println("Process Running Time:"+(endTime-startTime)+"ns");
- return people;
- }
- public static HashMap<String, People> createMapByHand(){
- long startTime=System.nanoTime();
- HashMap<String,People> people = new HashMap<String,People>();
- people.put("tommy", new People("tommy", 26, "boy", "I am a gay boy"));
- people.put("army", new People("army", 14, "girl", "I like girls naked body"));
- long endTime=System.nanoTime();
- System.out.println("Process Running Time2:"+(endTime-startTime)+"ns");
- return people;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement