Java学习 |
您所在的位置:网站首页 › Java中集合框架有几种 › Java学习 |
学如逆水行舟,不进则退。——《增广贤文》 一、集合简介
集合框架体系如图所示: 接口: 是代表集合的抽象数据类型。 具体类: 是集合接口的具体实现。 算法: 是实现集合接口的对象里的方法执行的一些有用的计算。 之前已经简单了解过数组,那么数组和集合的区别在哪呢? 尽管 Map 不是集合,但是它们完全整合在集合中。 常用集合接口和具体类图: Collection接口: List接口: 有序,可重复,能存放null值 ArrayList: 底层是数组,查询和修改比较快,线程不安全LinkedList: 底层是双向链表,增加和删除比较快,线程不安全Vector: 底层是数组,查询和修改比较快,线程安全(同步),但是效率低 Stack: 栈模型先进后出Set接口: HashSet: 底层是哈希表,无序,不重复,能存放null 判断元素重复的方式: 1.判断hashcode值是否相同 2.如果相同,判断equals方法 重写这两个方法时,尽量保证每个对象都有不同的hashcode值,这样会提高效率 TreeSet: 底层数据结构是红黑树,有序,不重复,元素类型要兼容,不能存放null 数据按照自然顺序排放(自然顺序:字母按字典,数字按大小,汉字自己顺序) 类:必须实现comparable接口或者自定义个comparator比较器 判断元素重复的方式:比较返回值是否为0 Map接口: 以键对值来存放 key-value HashMap: 键和值都可以为null,效率高HashTable: 键和值都不可以为null,线程安全(方法同步)TreeMap: 键不能为null,值可以为null,按照键的自然顺序存放,而且需要类型兼容 三、实现方法建议学习一定要看:JDK1.8中文手册(提取码:rqpr) 详细如图: 这里简单列举一些ArrayList类的增删改查的方法: 增加 add(E e):将指定的元素追加到此列表的末尾 add(int index, E e):在此列表中的指定位置插入指定的元素 删除 remove(int index):删除该列表中指定位置的元素 remove(Object o):删除指定元素的第一个出现(如果存在或存在多个) clear() :从列表中删除所有元素 修改 set(int index, E element):用指定的元素替换此列表中指定位置的元素 查询 get(int index) :返回此列表中指定位置的元素 size() :返回此列表中的元素数 subList(int fromIndex, int toIndex) :返回此列表中指定的 fromIndex (包括)和 toIndex之间的独占视图 toArray() :以正确的顺序(从第一个到最后一个元素)返回一个包含此列表中所有元素的数组 3种遍历方法: 之前只学习了第一个简单的for循环,现在又学到了2种。 1:for循环 for(int i=0;i (); 有许多原因促成了泛型的出现,而最引人注意的一个原因,就是为了创建容器类。 参数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口、泛型方法。 好处:代码安全性,消除强制类型转换 参考文章资料1 参考文章资料2 今天学习分享的内容到此为止了,本是想要激励自己学下去,但发现快乐更是知识在于分享! 作为初学者对于Java的理解实在浅薄,如有错误请指正,万分感谢! |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |