自定义AVL树(2):实现集合(Set)与映射(Map)

通过AVL树的方式实现自定义集合(Set)和自定义映射(Map)。

 

参考:自定义集合(Set)          Set.java

参考:自定义映射(Map)        Map.java

参考:自定义AVL树                  AVLTree.java

 

包结构:

自定义AVL树(2):实现集合(Set)与映射(Map)_第1张图片

实现自定义集合(Set):

package AVL;
public class AVLSet> implements Set {

    private AVLTree avl;

    public AVLSet(){
        avl = new AVLTree<>();
    }

    @Override
    public int getSize(){
        return avl.getSize();
    }

    @Override
    public boolean isEmpty(){
        return avl.isEmpty();
    }

    @Override
    public void add(E e){
        avl.add(e, null);
    }

    @Override
    public boolean contains(E e){
        return avl.contains(e);
    }

    @Override
    public void remove(E e){
        avl.remove(e);
    }
}

 

实现自定义映射(Map):

 

package AVL;

public class AVLMap, V> implements Map {

    private AVLTree avl;

    public AVLMap(){
        avl = new AVLTree<>();
    }

    @Override
    public int getSize(){
        return avl.getSize();
    }

    @Override
    public boolean isEmpty(){
        return avl.isEmpty();
    }

    @Override
    public void add(K key, V value){
        avl.add(key, value);
    }

    @Override
    public boolean contains(K key){
        return avl.contains(key);
    }

    @Override
    public V get(K key){
        return avl.get(key);
    }

    @Override
    public void set(K key, V newValue){
        avl.set(key, newValue);
    }

    @Override
    public V remove(K key){
        return avl.remove(key);
    }
}

 

你可能感兴趣的:(数据结构,数据结构)