• 超级简单的数组加单链表实现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 + "]";
    	}
    	
    	
    }
    
    
  • 相关阅读:
    表单:文本框默认提示信息(小例子)
    代码:jquery小效果—— 吸顶
    Day5:面向对象的定义(中)
    Day5:面向对象的定义(上)
    Day4:数组(扩展知识)
    Day4:数组
    Day3:JAVA方法的定义
    Day2:JAVA判断与运算(循环)
    Eclipse使用技巧
    (HTTP)状态码详解
  • 原文地址:https://www.cnblogs.com/theone67/p/11531014.html
Copyright © 2020-2023  润新知