public class UserData {//implements Comparator<UserData>{
	private long UserTimestamp;
	public String UserName;
	public String UserURL;
	public int UserTimeOnPage;
	public int Day;
	public int Month;
	
		public String toString(){
		return Day+Month+"\n "+UserTimestamp+" "+UserName+" "+UserURL+" "+UserTimeOnPage;
	}
	UserData(long UT, String UN, String UU, int UTOP){

		UserTimestamp=UT;
		UserName=UN;
		UserURL=UU;
		UserTimeOnPage=UTOP;
		Date d=new Date(UserTimestamp);
		GregorianCalendar calendar=new GregorianCalendar();
		calendar.setTime(d);
		Day=calendar.get(Calendar.DATE);
		Month=calendar.get(Calendar.MONTH);
		//System.out.println("DAY_OF_MONTH: " + calendar.get(Calendar.DAY_OF_MONTH));
	}
	
	
	
	
	
	Comparator<UserData> comp = (UserData a, UserData b) -> {
			Integer first=a.Day;
			Integer second=b.Day;
			int k;
			k=first.compareTo(second);
			if(k==0){
				int f;
				String i=a.UserURL;
				String j=b.UserURL;
				f=i.compareTo(j);
				if(f==0){
					int g;
					g=a.UserName.compareTo(b.UserName);
					if(g==0){
						return g;
					}	
				}
				return f;
			}
			return k;
		};
		TreeSet<UserData> list=new TreeSet<UserData>(comp);
		try {
	 
			br = new BufferedReader(new FileReader(csvFile));
			
			while ((line = br.readLine()) != null) {
				        // use comma as separator
				String[] country=line.split(cvsSplitBy);
				UserData current=new UserData(Long.parseLong(country[0]), country[1], country[2], Integer.parseInt(country[3]));
				list.add(current);
			}
			
			for(UserData elem: list){
				System.out.println(elem+" ");				
			}