通篇整理一下java编程知识点

Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。

给你java学习路线:html-css-js-jq-javase-数据库-jsp-servlet-Struts2-hibernate-mybatis-spring4-springmvc-ssh-ssm

集合框架定义

小编推荐一个学Java的学习裙【 六五零,五五四,六零七 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!

集合框架是一个用来代表和操纵集合的统一架构。所有的集合框架都包含如下内容:

接口:是代表集合的抽象数据类型。接口允许集合独立操纵其代表的细节。在面向对象的语言,接口通常形成一个层次。

实现(类):是集合接口的具体实现。从本质上讲,它们是可重复使用的数据结构。

算法:是实现集合接口的对象里的方法执行的一些有用的计算,例如:搜索和排序。这些算法被称为多态,那是因为相同的方法可以在相似的接口上有着不同的实现。

除了集合,该框架也定义了几个Map接口和类。Map里存储的是键/值对。尽管Map不是collections,但是它们完全整合在集合中。

二、List 接口

1、ArrayList 的使用

ArrayList 是一个集合容器类。

1、ArrayList 的构造方法

2、 ArrayList 方法

  测试ArrayList:

2、LinkedList 使用

基于链表结构的集合 LinkedList。LinkedList 属于 java.util 包下面,也实现Iterable接口,说明可以使用迭代器遍历;LinkedList 还实现 Deque,Queue 操作。Deque 和 Queue 是 LinkedList 的父接口,那么 LinkedList 也可以看成一种 Deque 或者 Queue;Queue表示一种队列,也是一种数据结构,它的特点是先进先出,因此在队列这个接口里面提供了一些操作队列的方法,同时LinkedList也具有这些方法;Deque(Double ended queues双端队列),支持在两端插入或者移除元素; 那也应该具有操作双端队列的一些方法;LinkedList是他们的子类,说明都具有他们两者的方法;LinkedList也可以充当队列,双端队列,堆栈多个角色。

1、 LinkedList 构造方法

2、 LinkedList 方法

  测试 LinkedList:

3、 ArrayList 和 LinkedList 的区别

ArrayList 和 LinkedList 都是线程不安全的。

ArrayList 是 List 接口的一种实现,它是使用数组来实现的,即使用数组方式存储。

LinkedList 是 List 接口的一种实现,它是使用链表来实现的,即使用双向链表实现存储。

ArrayList 遍历和查找元素比较快。LinkedList 遍历和查找元素比较慢。

ArrayList 添加、删除元素比较慢。LinkedList 添加、删除元素比较快。

三、set 接口

1、HashSet

不能添加重复的元素,并且是无序的。

HashSet判断是否相同的规则: ①判断hashcode ②判断equals ,如果两个对象的hashCode值相等,并且equals返回为true 就表示相等(重复)。

小编推荐一个学Java的学习裙【 六五零,五五四,六零七 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!

2、TreeSet

  TreeSet 和 HashSet 很多方面也是类似的;特点和 HashSet 也是一样的;

TreeSet 的特点:不能添加重复元素,无序的(不记录添加顺序)。

2.1 TreeSet 排序

1、自然排序

自然排序:此接口强行对实现它的每个类的对象进行整体排序,这种排序被称为类的自然排序。

可以让类实现 Comparable 接口,通过 compareTo(Object obj) 方法,如果方法返回 0 表示相等,否则不等。

实现了 Comparable 接口的 student 类:

2、定制排序

如果没有实现 Comparable 接口,需要自定义一个类,实现 Comparator 接口,覆写比较方法;

比较器的实现代码:

3、TreeSet 自然排序和定制排序的区别

一般来说,先写一个比较规则,让它实现 Comparable 接口,作为默认的比较规则,如果不写比较器,则比较使用默认规则,如果觉得默认比较规则不够好,可以自己写个比较器,当通过存在默认比较规则和比较器时,优先选择使用比较器,因为比较器更能满足需求。

测试TreeSet:

3、HashSet 和 TreeSet 总结

HashSet特点:不重复,无序(通过 hashCode 方法和equals 方法,判断重复)。

TreeSet 特点:不重复,无序(添加顺序与打印顺序不一样),但是打印顺序按照一定规则排序;排序有自然排序和定制排序。

四、Map 接口

Map 简单理解成映射;

Map:将键映射到值的对象。一个映射不能包含重复的键;每个键最多只能包含一个值。

1、hashMap

1、hashMap 的构造方法

2、hashMap 的方法

3、测试 hashMap

具体测试代码:

小编推荐一个学Java的学习裙【 六五零,五五四,六零七 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!

2、Map小结

HashMap 是一个散列表,它存储的内容是键值对(key-value)映射。该类实现了Map 接口,根据键的 HashCode 值存储数据,具有很快的访问速度,最多允许一条记录的键为null,不支持线程同步

Map接口

HashMap 判断重复的标准和HashSet一致,通过键的 hashCode 和 equals;

TreeMap 判断重复的标准和TreeSet一致,1:通过自然排序(Comparable 接口),2:定制排序(Compartor 比较器)。

五、集合算法 Collections

完全由在 collection 上进行操作或返回 collection 的静态方法组成。它包含在 collection 上操作的多态算法,即“包装器”,包装器返回由指定 collection 支持的新 collection,以及少数其他内容。例如:搜索和排序。

1、Collections 的方法

上面是 Collections 类的一些常用方法,具体所有方法,可以自己查看API文档。

  测试 Collections 的一些常用方法:


©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,805评论 18 399
  • 1.import static是Java 5增加的功能,就是将Import类中的静态方法,可以作为本类的静态方法来...
    XLsn0w阅读 1,278评论 0 2
  • 面向对象主要针对面向过程。 面向过程的基本单元是函数。 什么是对象:EVERYTHING IS OBJECT(万物...
    sinpi阅读 1,109评论 0 4
  • 牡丹园有作 花闹晴空,人拥白云,携侣来游。看娇红釀雨,清香初送;繁英舞雪,春意方稠。不用争奇,何须斗艳,大度雍容谁...
    倚剑白云天阅读 498评论 0 3
  • 今天4月23日,星期日,距离高考还有44天。天气凉爽,高一高二仍然利用这个周末举行着艺术节。而我们高三已全部开始了...
    耘心阅读 324评论 0 0