zoukankan      html  css  js  c++  java
  • 超级简单的数组加单链表实现Map

    /**
     * 超级简单的数组加单链表实现Map
     * @author jlj
     *
     */
    public class MyHashMap {
    	
    	public MyList[] lists;
    	public int initSize = 10;
    	
    	public MyHashMap(){
    		lists = new MyList[initSize];
    	}
    	
    	public void addNode(Node node){
    		int id = node.id;
    		MyList list = lists[id % initSize];
    		
    		if(list == null){
    			MyList l = new MyList();
    			l.headNode = node;
    			lists[id % 10] = l;
    		} else {
    			Node headNode = list.headNode;
    			while(headNode.next != null){
    				headNode = headNode.next;
    			}
    			headNode.next = node;
    		}
    	}
    	
    	public static void main(String[] args) {
    		MyHashMap map = new MyHashMap();
    		map.addNode(new Node(1));
    		map.addNode(new Node(0));
    		map.addNode(new Node(3));
    
    		map.addNode(new Node(10));
    		System.out.println(map.lists.length);
    		System.out.println(map.lists[0]);
    	}
    	
    	
    }
    
    
    class Node{
    	public int id;
    	public Node next;
    	public Node(int id) {
    		super();
    		this.id = id;
    	}
    	@Override
    	public String toString() {
    		return "Node [id=" + id + ", next=" + next + "]";
    	}
    	
    	
    	
    }
    
    class MyList{
    	public Node headNode;
    
    	@Override
    	public String toString() {
    		return "MyList [headNode=" + headNode + "]";
    	}
    	
    	
    }
    
    
  • 相关阅读:
    Java的特性和优势
    MyBatis
    SpringBoot简介
    Liunx
    MySql简介与入门
    Volatile
    MySQL简介
    Redis
    Spring IoC
    什么是springboot
  • 原文地址:https://www.cnblogs.com/theone67/p/11531014.html
Copyright © 2011-2022 走看看