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"));
}
}
}

浙公网安备 33010602011771号