首页 > 编程语言 > 详细

Java集合实现

时间:2019-04-01 21:59:27      阅读:109      评论:0      收藏:0      [点我收藏+]

set:

public class BSTSet<E extends Comparable<E>> implements Set<E> {
    private BST<E> bst;
    public BSTSet(){
    	bst=new BST<>();
    }
    @Override
    public int getSize(){
    	return bst.size();
    }
    @Override
    public boolean isEmpty(){
    	return bst.isEmpty();
    }
    @Override
    public void add(E e){
    	bst.add(e);
    }
    @Override
    public boolean contains(E e){
    	return bst.contains(e);
    }
    @Override
    public void remove(E e){
    	bst.remove(e);
    }
}

  

public class LinkedListSet<E> implements Set<E> {
	private LinkedList<E> list;
	 public LinkedListSet(){
		 list=new LinkedList<>();
	 }

	 @Override
	 public int getSize(){
		 return list.getSize();
	 }
	 @Override
	 public boolean isEmpty(){
		 return list.isEmpty();
	 }
	 @Override
	 public boolean contains(E e){
		 return list.contains(e);
	 }
	 @Override
	 public void add(E e){
		 if(!list.contains(e))
			 list.addFirst(e);
	 }
	 @Override
	 public void remove(E e){
		 list.removeElement(e);
	 } 
}

  

public class Main {
	private static double testSet(Set<String> set,String fileName){
		long startTime=System.nanoTime();
		System.out.println(fileName);
		ArrayList<String> words=new ArrayList<>();
		if(FileOperation.readFile(fileName, words)){
			System.out.println("Total words:"+words.size());
			for(String word:words)
				set.add(word);
			System.out.println("Total different words: "+set.getSize());
		}
		
		long endTime=System.nanoTime();
		return (endTime-startTime)/1000000000.0;
		
	}
	public static void main(String[] args){
		String fileName="a-tale-of-two-cities.txt";
		BSTSet<String> bstSet=new BSTSet<String>();
		double time1=testSet(bstSet, fileName);
		System.out.println("BST Set:"+time1+" s");
		System.out.println();
		
		LinkedListSet<String> linkedListSet=new LinkedListSet<String>();
		double time2=testSet(linkedListSet, fileName);
		System.out.println("Linked List Set:"+time2+" s");
		
	}
}

  

Java集合实现

原文:https://www.cnblogs.com/sunliyuan/p/10639075.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!