锘??xml version="1.0" encoding="utf-8" standalone="yes"?>337p欧洲亚洲大胆艺术,久久亚洲精品无码网站,亚洲综合久久1区2区3区http://www.tkk7.com/zzzlyr/category/55177.htmlzh-cnSat, 06 Jan 2018 16:56:56 GMTSat, 06 Jan 2018 16:56:56 GMT60JAVA 瀹炵幇閾捐〃闃熷垪http://www.tkk7.com/zzzlyr/articles/432415.html寮犻拪閽?/dc:creator>寮犻拪閽?/author>Tue, 28 Mar 2017 07:48:00 GMThttp://www.tkk7.com/zzzlyr/articles/432415.htmlhttp://www.tkk7.com/zzzlyr/comments/432415.htmlhttp://www.tkk7.com/zzzlyr/articles/432415.html#Feedback0http://www.tkk7.com/zzzlyr/comments/commentRss/432415.htmlhttp://www.tkk7.com/zzzlyr/services/trackbacks/432415.htmlpackage stacktest;

/**
* @Author: zzz
* @CreateTime: 2017/3/28 10:52
* @Description: 闃熷垪鐗圭偣錛堝厛榪涘厛鍑猴級(jí)錛岄摼琛ㄥ疄鐜扮殑闃熷垪 鍦ㄩ槦澶村垹闄ゅ厓绱狅紝鍦ㄩ槦灝炬彃鍏ュ厓绱犮?br /> * 榪欐牱鎵嶈兘婊¤凍闃熷垪鐨勭壒鎬с?br /> */
public class MyQueue<T> {
private Node<T> front; //闃熷垪澶達(dá)紝鍙兘鍒犻櫎鍏冪礌

    private Node<T> rear; //闃熷垪灝撅紝鍙兘鐢ㄦ潵鎻掑叆鍏ュ厓绱?br />
    private int size;//闃熷垪鐨勯暱搴?br />
/**
* 鍒濆鍖栭槦鍒?br /> */
public MyQueue() {
front = new Node<T>();
rear = front;
}

/**
* 閾捐〃鐨勬暟鎹粨鏋?br /> */
private class Node<T> {
public T data;
public Node<T> next;

public Node(T data, Node next) {
this.data = data;
this.next = next;
}

public Node(T data) {
this.data = data;
}

public Node() {
}
}

public void add(T data) {
//鏂版彃鍏ョ殑鑺傜偣姘歌繙鏄熬鑺傜偣錛屽畠鐨?/span>next 鎸囧悜null(鍗蟲(chóng)病鏈夊悗緇ц妭鐐?/span>)
        Node newNode = new Node(data, null);
//璁╁熬鑺傜偣next鎸囧悜鏂拌妭鐐?br />         rear.next = newNode;
rear = newNode;
size++;
}

public T pop() throws Exception {
if (size < 1) {
throw new Exception("閿欒錛岄槦鍒椾負(fù)絀恒?/span>");
}
Node<T> nextNode = front.next;

front.next = nextNode.next;
size--;
if (size < 1) {
rear = front;
size = 0;
}
return nextNode.data;

}

//鍙栭槦棣栧厓绱?br />
public T peek() throws Exception {
if (size < 1){
throw new Exception("閿欒錛岄槦鍒椾負(fù)絀恒?/span>");
};
return front.next.data;

}
//榪斿洖闃熷垪鐨勫ぇ灝?br /> public int getSize() {
return size;
}

//鍒ゆ柇闃熷垪鏄惁涓虹┖
public boolean isEmpty() {
return size == 0;
}

/**
* 閬嶅巻綆楁硶錛岀Щ鍔?/span>front鎸囬拡錛岀洿鍒?/span>front鎸囬拡榪戒笂rear鎸囬拡
*/
public void traverse(){
for(Node currentNode=front.next; currentNode!=null; currentNode=currentNode.next ){
System.out.println(currentNode.data);
}
}

public static void main(String[] args)throws Exception{
MyQueue<String> queue=new MyQueue<>();
for(int i=0;i<10;i++){
queue.add("88888-"+i);
}

/* for(int i=0;i<10;i++){
String s=queue.pop();
System.out.print(s+";");
}*/
queue.traverse();

}
}


]]>
JAVA 鏍?閾捐〃鍜屾暟緇勫疄鐜扮殑鏍堟搷浣? pop push http://www.tkk7.com/zzzlyr/articles/432414.html寮犻拪閽?/dc:creator>寮犻拪閽?/author>Mon, 27 Mar 2017 07:43:00 GMThttp://www.tkk7.com/zzzlyr/articles/432414.htmlhttp://www.tkk7.com/zzzlyr/comments/432414.htmlhttp://www.tkk7.com/zzzlyr/articles/432414.html#Feedback0http://www.tkk7.com/zzzlyr/comments/commentRss/432414.htmlhttp://www.tkk7.com/zzzlyr/services/trackbacks/432414.html
鏍堢殑鐗圭偣錛氬悗榪涘厛鍑猴紝鎵浠ヤ竴涓嚎鎬ч摼琛ㄥ疄鐜扮殑鏍堜篃鍙兘鍦ㄤ竴绔搷浣滄墠鑳芥弧瓚寵繖縐嶇壒鎬э紱


/**
* @Author: zzz
* @CreateTime: 2017/3/27 14:51
* @Description:
*/
public class MyStack<T> {

private Node top;//姘歌繙鎸囧悜鏍堥《鍏冪礌
//鍏冪礌涓暟
private int size;


/**
* 鍐呴儴綾伙紝瀹氫箟鑺傜偣
*/
private class Node {
public T data;

public Node next;

public Node(T data, Node next) {
this.data = data;
this.next = next;
}

}

public void push(T data) {
//next 鎸囧悜褰撳墠鍏冪礌top,濡傛灉鏄涓涓厓绱?/span>next 鎸囧悜null;
Node node = new Node(data, top);
//鎶婂綋鍓嶅厓绱犳寚鍚?/span>top
top = node;
size++;
}


public T pop() {
Node oldNode = top;
top = top.next;
oldNode.next = null;
//閲婃斁寮曠敤
return oldNode.data;
}

//榪斿洖鏍堥《鐨勫厓绱狅紝浣嗕笉鍑烘爤
public T peek() {
return top.data;

}

// 鍒ゆ柇閾炬爤鏄惁涓虹┖鏍?br /> public boolean empty() {
return size == 0;
}

public String toString() {
// 閾炬爤涓虹┖閾炬爤鏃?br /> if (empty())
return "[]";
else {
StringBuilder sb = new StringBuilder("[");
for (Node current = top; current != null; current = current.next) {
sb.append(current.data.toString() + ", ");
}
int len = sb.length();
return sb.delete(len - 2, len).append("]").toString();

}
}

public static void main(String[] args) throws Exception {
MyStack stack = new MyStack<String>();
for (int i = 0; i <= 10; i++) {
stack.push("111111-" + i);
}
System.out.println(stack);
System.out.println("frist pop="+stack.pop());
System.out.println("second pop="+stack.pop());
System.out.println("thrid pop="+stack.pop());
System.out.println("pop 涔嬪悗鐨?/span>"+stack);
}

/**
 * Created by zz.zhang on 2018/1/4.
 
*/
public class MyStack<T> {

    private int DEFAULT_SIZE = 8;//瀹氫箟鏍堢殑鍒濆榛樿闀垮害
    private int capacity;//淇濆瓨欏哄簭鏍堢殑闀垮害
    private int size;//淇濆瓨欏哄簭鏍堜腑鍏冪礌鐨勪釜鏁?/span>
    private Object[] elementData;//瀹氫箟涓涓暟緇勭敤浜庝繚瀛橀『搴忔爤涓殑鍏冪礌

    public MyStack() {
        capacity = DEFAULT_SIZE;
        elementData = new Object[capacity];
    }

    public MyStack(int initSize) {
        capacity = 1;
        while (capacity < initSize) {
            capacity <<= 1;//灝哻apacity璁劇疆鎴愬ぇ浜巌nitSize鐨勬渶灝?嬈℃柟
        }
        elementData = new Object[capacity];
    }

    public void push(T element) throws Exception {
        elementData[size++] = element;
    }

    public T pop() throws Exception {
        if (empty()) {
            throw new IndexOutOfBoundsException("鏍堢┖錛屼笉鑳藉嚭鏍?);
        }
        T oldValue = (T) elementData[size - 1];
        elementData[--size] = null// 璁劇疆鎴恘ull 璁㎎VM鍨冨溇鍥炴敹
        return oldValue;
    }
public boolean empty() {
        return size == 0;
    }

    //榪斿洖褰撳墠欏哄簭鏍堜腑鍏冪礌鐨勪釜鏁?/span>
    public int length() {
        return size;
    }

    //鑾峰彇鏍堥《鍏冪礌錛屼笉浼?xì)灏嗘爤椤跺厓绱犲垹闄?/span>
    public T peek() throws Exception {
        if (size == 0)
            throw new ArrayIndexOutOfBoundsException("鏍堜負(fù)絀?);
        return (T) elementData[size - 1];
    }

    public void clear() {
        for (int i = 0; i < size; i++) {
            elementData[i] = null;
        }
        size = 0;
    }

    public static void main(String[] args)throws Exception{
        MyStack<String> stack=new MyStack<String>(30);
        for(int i=0 ;i<30;i++){
            stack.push(String.valueOf(i));
        }
        System.out.println(stack.pop());
        System.out.println(stack.peek());
    }
}





]]>
hash綆楁硶 (hashmap 瀹炵幇鍘熺悊)http://www.tkk7.com/zzzlyr/articles/413349.html寮犻拪閽?/dc:creator>寮犻拪閽?/author>Wed, 07 May 2014 00:37:00 GMThttp://www.tkk7.com/zzzlyr/articles/413349.htmlhttp://www.tkk7.com/zzzlyr/comments/413349.htmlhttp://www.tkk7.com/zzzlyr/articles/413349.html#Feedback0http://www.tkk7.com/zzzlyr/comments/commentRss/413349.htmlhttp://www.tkk7.com/zzzlyr/services/trackbacks/413349.html

hash綆楁硶 (hashmap 瀹炵幇鍘熺悊)

     Hash 錛屼竴鑸炕璇戝仛“ 鏁e垪” 錛屼篃鏈夌洿鎺ラ煶璇戜負(fù)“ 鍝堝笇” 鐨勶紝灝辨槸鎶婁換鎰忛暱搴︾殑杈撳叆錛堝張鍙仛棰勬槧灝勶紝 pre-image錛夛紝閫氳繃鏁e垪綆楁硶錛屽彉鎹㈡垚鍥哄畾闀垮害鐨勮緭鍑猴紝璇ヨ緭鍑哄氨鏄暎鍒楀箋傝繖縐嶈漿鎹㈡槸涓縐嶅帇緙╂槧灝勶紝涔熷氨鏄紝鏁e垪鍊肩殑絀洪棿閫氬父榪滃皬浜庤緭鍏ョ殑絀洪棿錛屼笉 鍚岀殑杈撳叆鍙兘浼?xì)鏁e垪鎴愮浉鍚岀殑杈撳嚭锛岃屼笉鍙兘浠庢暎鍒楀兼潵鍞竴鐨勭‘瀹氳緭鍏ュ箋傜畝鍗曠殑璇村氨鏄竴縐嶅皢浠繪剰闀垮害鐨勬秷鎭帇緙╁埌鏌愪竴鍥哄畾闀垮害鐨勬秷鎭憳瑕佺殑鍑芥暟銆?/span>

HASH 涓昏鐢ㄤ簬淇℃伅瀹夊叏棰嗗煙涓姞瀵嗙畻娉曪紝瀹冩妸涓浜涗笉鍚岄暱搴︾殑淇℃伅杞寲鎴愭潅涔辯殑128 浣嶇殑緙栫爜, 榪欎簺緙栫爜鍊煎彨鍋欻ASH 鍊? 涔熷彲浠ヨ錛宧ash 灝辨槸鎵懼埌涓縐嶆暟鎹唴瀹瑰拰鏁版嵁瀛樻斁鍦板潃涔嬮棿鐨勬槧灝勫叧緋?/p>

渚嬪瀛楃涓?nbsp;hello 鐨勫搱甯岀畻娉?/p>

char* value = "hello"; int key = (((((((27* (int)'h'+27)* (int)'e') + 27) 銆* (int)'l') + 27) * (int)'l' +27) * 27 ) + (int)'o' ;銆?/p>

 

  鏁扮粍鐨勭壒鐐規(guī)槸錛氬鍧瀹規(guī)槗錛屾彃鍏ュ拰鍒犻櫎鍥伴毦錛涜岄摼琛ㄧ殑鐗圭偣鏄細(xì)瀵誨潃鍥伴毦錛屾彃鍏ュ拰鍒犻櫎瀹規(guī)槗銆傞偅涔堟垜浠兘涓嶈兘緇煎悎涓よ呯殑鐗規(guī)э紝鍋氬嚭涓縐嶅鍧瀹規(guī)槗錛屾彃鍏ュ垹闄や篃瀹規(guī)槗 鐨勬暟鎹粨鏋勶紵絳旀鏄偗瀹氱殑錛岃繖灝辨槸鎴戜滑瑕佹彁璧風(fēng)殑鍝堝笇琛紝鍝堝笇琛ㄦ湁澶氱涓嶅悓鐨勫疄鐜版柟娉曪紝鎴戞帴涓嬫潵瑙i噴鐨勬槸鏈甯哥敤鐨勪竴縐嶆柟娉?#8212;— 鎷夐摼娉曪紝鎴戜滑鍙互鐞嗚В涓?#8220; 閾捐〃 鐨勬暟緇?#8221; 錛屽鍥撅細(xì)


 

 

 

HashMap鍏跺疄涔熸槸涓涓嚎鎬х殑鏁扮粍瀹炵幇鐨?鎵浠ュ彲浠ョ悊瑙d負(fù)鍏跺瓨鍌ㄦ暟鎹殑瀹瑰櫒灝辨槸涓涓嚎鎬ф暟緇勩傝繖鍙兘璁╂垜浠緢涓嶈В錛屼竴涓嚎鎬х殑鏁扮粍鎬庝箞瀹炵幇鎸夐敭鍊煎鏉ュ瓨鍙栨暟鎹憿錛熻繖閲孒ashMap鏈夊仛涓浜涘鐞嗐?/p>

    1.棣栧厛HashMap閲岄潰瀹炵幇涓涓潤(rùn)鎬佸唴閮ㄧ被Entry 鍏墮噸瑕佺殑灞炴ф湁 key , value, next,浠庡睘鎬ey,value鎴戜滑灝辮兘寰堟槑鏄劇殑鐪嬪嚭鏉ntry灝辨槸HashMap閿煎瀹炵幇鐨勪竴涓熀紜bean,鎴戜滑涓婇潰璇村埌HashMap鐨勫熀 紜灝辨槸涓涓嚎鎬ф暟緇?榪欎釜鏁扮粍灝辨槸Entry[]錛孧ap閲岄潰鐨勫唴瀹歸兘淇濆瓨鍦‥ntry[]閲岄潰銆?/p>

     2.鏃㈢劧鏄嚎鎬ф暟緇勶紝涓轟粈涔堣兘闅忔満瀛樺彇錛熻繖閲孒ashMap鐢ㄤ簡(jiǎn)涓涓皬綆楁硶錛屽ぇ鑷存槸榪欐牱瀹炵幇錛?/p>

 

Java浠g爜  鏀惰棌浠g爜
  1. 瀛樺偍鏃?  
  2.   
  3. int hash = key.hashCode();--> 榪欎釜hashCode鏂規(guī)硶榪欓噷涓嶈榪?鍙鐞嗚В姣忎釜key鐨刪ash鏄竴涓浐瀹氱殑int鍊?nbsp; 
  4.   
  5. int index = hash % Entry[].length;  
  6.   
  7. Entry[index] = value;  
  8.   
  9. 鍙栧兼椂:  
  10.   
  11. int hash = key.hashCode();  
  12.   
  13. int index = hash % Entry[].length;  
  14.   
  15. return Entry[index]  
 

鍒拌繖閲屾垜浠交鏉劇殑鐞嗚В浜?jiǎn)HashMap閫氳繃閿煎瀹炵幇瀛樺彇鐨勫熀鏈師鐞?/p>

    3.鐤戦棶錛氬鏋滀袱涓猭ey閫氳繃hash % Entry[].length寰楀埌鐨刬ndex鐩稿悓錛屼細(xì)涓嶄細(xì)鏈夎鐩栫殑鍗遍櫓錛?/p>

榪欓噷HashMap閲岄潰鐢ㄥ埌閾懼紡鏁版嵁緇撴瀯鐨勪竴涓蹇?涓婇潰鎴戜滑鎻愬埌榪嘐ntry綾婚噷闈㈡湁涓涓猲ext灞炴?浣滅敤鏄寚鍚戜笅涓涓狤ntry銆傛墦涓瘮鏂? 絎竴涓敭鍊煎A榪涙潵,閫氳繃璁$畻鍏秌ey鐨刪ash寰楀埌鐨刬ndex=0錛岃鍋?Entry[0] = A.涓浼?xì)鍚庡張杩涙潵涓涓敭鍊煎B,閫氳繃璁$畻鍏秈ndex涔熺瓑浜?,鐜板湪鎬庝箞鍔烇紵HashMap浼?xì)杩欐牱鍋?B.next = A,Entry[0] = B,濡傛灉鍙堣繘鏉,index涔熺瓑浜?,閭d箞C.next = B,Entry[0] = C錛涜繖鏍鋒垜浠彂鐜癷ndex=0鐨勫湴鏂瑰叾瀹炲瓨鍙栦簡(jiǎn)A,B,C涓変釜閿煎,浠栦滑閫氳繃next榪欎釜灞炴ч摼鎺ュ湪涓璧楓傛墍浠ョ枒闂笉鐢ㄦ媴蹇?jī)銆?/p>

鍒拌繖閲屼負(fù)姝紝HashMap鐨勫ぇ鑷村疄鐜幫紝鎴戜滑搴旇宸茬粡娓呮浜?jiǎn)銆?/p>

褰撶劧HashMap閲岄潰涔熷寘鍚竴浜涗紭鍖栨柟闈㈢殑瀹炵幇錛岃繖閲屼篃鍟板棪涓涓嬨?/p>

姣斿錛欵ntry[]鐨勯暱搴︿竴瀹氬悗錛岄殢鐫map閲岄潰鏁版嵁鐨勮秺鏉ヨ秺闀匡紝榪欐牱鍚屼竴涓猧ndex鐨勯摼灝變細(xì)寰堥暱錛屼細(xì)涓嶄細(xì)褰卞搷鎬ц兘錛?/p>

HashMap閲岄潰璁劇疆涓涓洜绱狅紙涔熺О涓哄洜瀛愶級(jí)錛岄殢鐫map鐨剆ize瓚婃潵瓚婂ぇ錛孍ntry[]浼?xì)浠ヤ竴瀹氱殑瑙勫垯鍔犻暱闀垮害銆?/p>

 

 

瑙e喅hash鍐茬獊鐨勫姙娉?/p>

1錛夊紑鏀懼畾鍧娉曪紙綰挎ф帰嫻嬪啀鏁e垪錛屼簩嬈℃帰嫻嬪啀鏁e垪錛屼吉闅忔満鎺㈡祴鍐嶆暎鍒楋級(jí)

2錛夊啀鍝堝笇娉?/p>

3錛夐摼鍦板潃娉?/p>

4錛夊緩绔嬩竴 鍏叡婧㈠嚭鍖?/p>

 

java 涓環(huán)ashmap鐨勮В鍐沖姙娉曞氨鏄噰鐢ㄧ殑閾懼湴鍧娉?br />杞澆鏂囩珷



]]>
主站蜘蛛池模板: 日韩一区二区a片免费观看| 中文字幕一精品亚洲无线一区| 香蕉视频在线观看免费| 亚洲人成在线播放网站| 国产日本一线在线观看免费 | 免费精品国产自产拍在线观看| 国产亚洲精品拍拍拍拍拍| 91免费国产精品| 亚洲av成人无码网站…| 亚洲2022国产成人精品无码区| 日韩免费高清视频| 久久国产精品免费观看| 国产亚洲精品精品精品| 4480yy私人影院亚洲| 亚洲另类少妇17p| 性做久久久久久久免费看| 久久久久女教师免费一区| 亚洲AV成人一区二区三区在线看| 国产av无码专区亚洲av果冻传媒 | 中文字幕av无码无卡免费| 久久国产一片免费观看| 97se亚洲国产综合自在线| 亚洲女久久久噜噜噜熟女| 青青草国产免费久久久下载| 久久A级毛片免费观看| 九九久久精品国产免费看小说| 亚洲精品二三区伊人久久| 久久久久亚洲av无码专区蜜芽| 免费v片视频在线观看视频| 中文毛片无遮挡高潮免费| 中文字幕无码一区二区免费| 国产精品亚洲片在线花蝴蝶| 亚洲午夜一区二区电影院| 亚洲成A人片在线观看WWW| 亚洲精品WWW久久久久久| 日韩a级毛片免费视频| 国产免费久久精品99re丫y| 19禁啪啪无遮挡免费网站| 国产免费一区二区三区不卡| 九九久久国产精品免费热6| 亚洲av无码av在线播放|