Java的会合与框架
Java的集合与框架
集合,顾名思义,就是包含的接口与类的一个“大袋子”。而且,我们可以知道,所有的集合类都在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(); }