public ZhengTagTime(List<Bookmark> trainList) {
		userResourceTagMaping = new HashMap<Integer, Map<Integer,List<Integer>>>();
		userResourceTimeMaping = new HashMap<Integer, Map<Integer, Long>>();
		
		userMaxTimeMaping = new HashMap<Integer, Long>();
		userMinTimeMaping = new HashMap<Integer, Long>();

		for (Bookmark trainData : trainList) {
			Integer userID = trainData.getUserID();
			Integer resID = trainData.getWikiID();
			List<Integer> tags = trainData.getTags();
			Long day = TimeUnit.SECONDS.toDays(Long.parseLong(trainData.getTimestamp()));
			
			Map<Integer, List<Integer>> resourceTagMaping = userResourceTagMaping.get(userID);
			Map<Integer, Long> resourceTimeMaping = userResourceTimeMaping.get(userID);
			
			if (resourceTagMaping == null) {
				resourceTagMaping = new HashMap<Integer, List<Integer>>();
			}
			if (resourceTimeMaping == null) {
				resourceTimeMaping = new HashMap<Integer, Long>();
			}
			
			resourceTagMaping.put(resID, tags);
			resourceTimeMaping.put(resID, day);
			
			Long maxUserTime = userMaxTimeMaping.get(userID);
			Long minUserTime = userMinTimeMaping.get(userID);
			if (maxUserTime == null) {
				maxUserTime = day;
				minUserTime = day;
			} else {
				if (maxUserTime < day) {
					maxUserTime = day;
				}
				if (minUserTime > day) {
					minUserTime = day;
				}
			}
			userMaxTimeMaping.put(userID, maxUserTime);
			userMinTimeMaping.put(userID, minUserTime);
			
			userResourceTagMaping.put(userID, resourceTagMaping);
			userResourceTimeMaping.put(userID, resourceTimeMaping);
		}
	}