首页 > 代码库 > java--容器

java--容器

1、Collection超级接口:

(1)容器:是一个不需要设置长度和类型的小型数据库;

      缺点:数据非持久性,每次运行都得加载;

(2)常用子接口:Set,List;    Map接口跟超级接口没关系;

(3)容器与数组的区别:

数组在创建时就必须给定长度或元素而且必须是同种类型,而容器不必须特别说明;


2、Set接口:

常用的实现类:HashSet,TreeSet;

特点:无序不可重复;

它就没有get()方法,也没有排序的功能;

无序与随机的区别:

无序是第一次元素的顺序是无序,一旦确定下来了,就不能改变;而随机是每一次都要发生变化;

常用方法:add(),retainAll();new HashSet(Set s);iterator();

                  addAll(),size();

3、List接口:

常用的实现类:ArrayList,LinkedList;

特点:有序可重复;

常用方法:add(),get(),remove(int i),remove(Object o),

                  iterator(), contains(),clear(),size();

为什么会有两个add(),remove()?

因为有序有下标,默认是从0开始;小心:remove()删除时,如果遇到都是整型,此时没办法删除具体的元素值,会以下标形式来进行删除;


4、equals,hashcode():

equals:比较两个对象的值是否相等;

hashcode:判断两个对象是否指向同一个对象;


5、Iterator接口:

迭代器:把给定容器中所有元素遍历一遍,不能重复,有别于循环,所以在用它时要特别小心;

常用方法:

hasNext():判断下一个元素是否存在;

next():输出下一个元素的值;

remove:(用得很少,数据完整性不被破坏)

写法:回去看代码,PPT;


6、foreach:

语法:for(变量类型 变量名:数组/容器){};

优点:遍历极快,缺点:没有下标,不能排序;


7、泛型:

定义:指的是把复杂的类型变成唯一性,必须是类或者自定义的类型;<类型>

常见的方法有四种:

第一:可以使用<T>来表示任意一种类型,只要主方法里面给它类型即可;

第二:泛型可以继承;<T extends Collection>,此时在方法里面给定的类型之后就不能变了;

第三:通配符;<? extends Collection>,此时在主方法里面可以给定任意一种超级接口下的实现类;

第四:泛型的方法;必须有无返回值的前面加<T>;           例子:public  <T> void f(T x){}

 常调用的方法:System.out.println(x.getClass().getName());

注意事项:记得对象不要搞错!

不懂回去看代码研究,再不懂明天带过来,一定要问;


8、打包和解包:

打包:把基础类型变成对象;

解包:把对象变成基础类型;


9、Map接口:

语法Map<K,V>

常见的实现类:

HashMap:无序;

TreeMap:按照鍵值的大小排序;

LinkedHashMap:按照输入的顺序输出;

常用的方法:

put(Object K,Object V);

get(Object K);

keySet();//获取所有K值;

values();//获取所有V值;

containsKey(Object K)://K值在这个容器中是否存在;

containsValue(Object V)://V值在这个容器中是否存在;


10、comparable接口:

比较两个对象的“大小”;就是排序;

必须重写compareTo(Object o);

涉及到递归的问题,星期四讲;


11、Collections,Arrays:(算法)

(1)Collections:针对List接口(因为它有下标)

常用的方法:sort(List l);shuffle(List l);reverse();

(2)Arrays:针对的是数组;sort(数组类型);


本文出自 “JAVA学习” 博客,请务必保留此出处http://csx007.blog.51cto.com/1577992/1610585

java--容器