fingertable.java

来自「java 实现的P2P Chord算法。chord算法是结构式的P2P搜索与管理」· Java 代码 · 共 138 行

JAVA
138
字号
package org.mikel.jchord;import java.util.*;/* * FingerTable.java * * Created on 12 de diciembre de 2004, 16:37 *//** * * @author mikel */public class FingerTable {        private int tama駉;    private int indice; //indices de 0 a tama駉-1    private ArrayList tabla;            /**     * Creates a new instance of FingerTable     * @param tama駉     */    public FingerTable(int tama駉) {                this.tama駉 = tama駉;        this.tabla = new ArrayList(tama駉);        indice = 0;                    }        /**     *     * @param valorInicial     */    public void inicializarTabla(Identificador valorInicial){                for(int i=0; i<tama駉; i++){            tabla.add(valorInicial);        }    }        /**     *     * @return     */    public int getTama駉() {                return tama駉;    }        /**     *     * @param indice     * @return     */    public Identificador getIdNodo(int indice){                return (Identificador) tabla.get(indice);            }                /**     *     * @param valor     */    public void setNodoIndiceActual(Identificador valor){                tabla.set(indice, valor);            }        /**     *     * @return     */    public int getIndiceActual(){                return indice;            }            public void resetIndice(){                indice = 0;            }        public void siguienteIndice(){                if (indice<tama駉-1)            indice++;        else            indice=0;            }        public void imprimir(){                System.out.println("-----TABLA FINGERS-----");        for(int i=0; i<tabla.size(); i++)            System.out.println( ((Identificador) tabla.get(i)).getHash().toString(16) );        System.out.println("-----------------------");                                    }        /**     *     * @return     */    public Identificador valorMaximo() {        Identificador max = (Identificador) tabla.get(0);        for(int i=1;i<tabla.size();i++){            if ( Utilidades.bigIntegerMayorQue( ((Identificador) tabla.get(i)).getHash(),max.getHash() ))                max=(Identificador) tabla.get(i);                    }        return max;                                    }        public ArrayList getArrayList(){                return this.tabla;    }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?