• 哈希小demo hashCode取模


    package demo;
    
    import java.util.ArrayList;
    import java.util.List;
    
    class Person {
    	private String username;
    	private int age;
    	public String getUsername() {
    		return username;
    	}
    	public void setUsername(String username) {
    		this.username = username;
    	}
    	public int getAge() {
    		return age;
    	}
    	public void setAge(int age) {
    		this.age = age;
    	}
    	public Person(String username, int age) {
    		super();
    		this.username = username;
    		this.age = age;
    	}
    	@Override
    	public String toString() {
    		return "Person [username=" + username + ", age=" + age + "]";
    	}
    	
    }
    
    public class Test {
    
    	public static void printList(List list) {
    		for(int i=0;i<list.size();i++) {
    			System.out.println(list.get(i));
    		}
    		System.out.println("----------------------------------");
    	}
    	
    	public static void main(String[] args) {
    		int partition = 3;
    		Person p1 = new Person("a",12);
    		Person p2 = new Person("b",13);
    		Person p3 = new Person("c",14);
    		Person p4 = new Person("d",15);
    		Person p5 = new Person("e",16);
    		Person p[] = new Person[]{p1,p2,p3,p4,p5};
    		List list0 = new ArrayList();
    		List list1 = new ArrayList();
    		List list2 = new ArrayList();
    		for(int i=0;i<p.length;i++) {
    			Person pi = p[i];
    			int hash = pi.hashCode();
    			System.out.println(hash);
    			if(hash%partition==0) {
    				list0.add(pi);
    			}
    			if(hash%partition==1) {
    				list1.add(pi);
    			}
    			if(hash%partition==2) {
    				list2.add(pi);
    			}
    		}
    		printList(list0);
    		printList(list1);
    		printList(list2);
    		
    		
    	}
    
    }
    
    执行结果
    638559109
    1287160904
    1710537297
    636768290
    1253637029
    Person [username=c, age=14]
    ----------------------------------
    Person [username=a, age=12]
    ----------------------------------
    Person [username=b, age=13]
    Person [username=d, age=15]
    Person [username=e, age=16]
    ----------------------------------
    


  • 相关阅读:
    django 笔记4 数据库操作
    html关于不换行代码
    之前搭建的jenkins的一些笔记
    pip报错
    ssh 免密及加密远程脚本实现
    今天了解了些redis和memcached的知识
    django 笔记3
    来选择一款适合你网站的CMS建站程序吧
    如何预防和检测网页挂马?
    网页挂马方式
  • 原文地址:https://www.cnblogs.com/zfyouxi/p/5390704.html
Copyright © 2020-2023  润新知