集合,顾名思义,就是包含的接口与类的一个“大袋子”。而且,我们可以知道,所有的集合类都在java.util.*包下。集合中只能保存对象(保存对象的引用变量),这里和数组就是不一样的,数组既可以保存数据类型,也可以保存对象。
在这里,我简单学习了,Set,Map,List这三种最基本的三大类:
//
List集合是有序集合,集合中的元素可以重复,访问集合中的元素可以根据元素的索引来访问。
Set集合是无序集合,集合中的元素不可以重复,访问集合中的元素只能根据元素本身来访问(也是不能集合里元素不允许重复的原因)。
Map集合中保存Key-value对形式的元素,访问时只能根据每项元素的key来访问其value。
对于Set、List和Map三种集合,最常用的实现类分别是HashSet、ArrayList和HashMap三个实现类。(并发控制的集合类,以后有空研究下)。
下面来写一段代码,好好认识一下:
public void testList () {
//泛型数组队列--指定(只能放特定的数据,字符串)
ArrayList<String> al =new ArrayList<String> () ;
for(int i=0;i<5;i++){
al.add(i,"str"+i);
}
//删除并返回数据
al.remove(3);
al.add(1, "sdsjfjksd");
al.indexOf("1");
al.contains("sda");//是否存在?
al.set(1, "djsfkj");//替换
for(int i=0;i<al.size();i++){
String str = al.get(i);
System.out.println(str);
}
}
这一段是为了测试List写的,我们可以看到:Set里的对象,有的方法是十分丰富的。
1、添加元素add(); 2、删除与替换 。。。。。
public void testSet(){
HashSet<String> hs =new HashSet<String>();
for(int i=0;i<5;i++){
hs.add("sdghjgf"+i);
}
Iterator<String> in=hs.iterator();
while(in.hasNext()){
String str =in.next();
System.out.println(str);
}
//迭代循环for遍历,这种遍历不能加入数据,会报错!!!
for(String s : hs){
System.out.println(s);
}
hs.remove("");
//set的作用:
//1.可以取出重复的字母
//
}
这一段是测试Set
public void testMap(){
//Hashtable
HashMap <String,String > hm =new HashMap <String,String > ();
hm.put("dfsafd", "yu");
hm.put("dfsafd\\", "yu2");
hm.put("dfsafd", "yu3");
//hm.remove(key);
String str = hm.get("dfsafd");
System.out.println(str);
Set<String > key =hm.keySet();
for(String keye : key){
System.out.println(keye+"vfvf"+hm.get(keye));
}
hm.entrySet();
hm.values();
}