java 学习杂记

HashSet实现原理依赖于hashMap的实现,因为我们都知道一个set集合中的元素是无序,不可重复的.这正好和map中键值的特性相同,所以其实现其就是将元素存在map的键值中,value值是相同的.下面是代码实现:

import java.util.HashMap;

//自己实现hashSet

public class hashSet {

	HashMap map ;
	
	private static final Object PRESENT = new Object();
	int size ;
	public  hashSet() {
		map = new HashMap();
	}
	
	public int size() {
		return size ;
	}
	
	public void add(Object o) {
		map.put(o, PRESENT);//利用map键对象的不可重复
	}
	
	public static void main(String[]args) {
		hashSet s = new hashSet();
		s.add("nnnnn");
		s.add("pppp");
	}
}

迭代器的使用:

import java.util.ArrayList;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Set;

public class Iterat {
	
	public static void main(String[] args) {
		
		List list = new ArrayList();
		list.add("aaa");
		list.add("ddd");
		for(int i= 0; i<list.size();i++) {
			System.out.println(list.get(i));
		}
		Set set = new HashSet();
		set.add("aaa");
		set.add("sss");
		set.add("ccc");
		
		//通过迭代器遍历set
//		Iterator iter = set.iterator();
//		while(iter.hasNext())
		//remove 删除游标左边的元素
		for(Iterator iter = set.iterator() ;iter.hasNext();) {
			//next 返回当前游标指向的对象,并将游标移向下一位
			String str = (String)iter.next();
			System.out.println(str);
		}
	}
}

 map关联容器的使用:

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
//使用map关联容器来封装数据

public class Test23 {
	public static void main(String[] args) {
		Map map = new HashMap();
		map.put("id", 9);
		map.put("name","gao");
		map.put("salary",3050);
		map.put("department","教学部门");
		map.put("hireDate","2006-10");
		
		List<Map>list = new ArrayList<Map>();
		list.add(map);
	}
	
	public static void printEmpName(List<Map>list) {
		for(int i=0 ;i <list.size();i++) {
			Map  map = list.get(i);
			System.out.println(map.get("name"));
		}
	}
}

猜你喜欢

转载自www.cnblogs.com/chang-ke/p/java.html