20165101刘天野 2017-2018-2 《Java程序设计》第6周学习总结


教材学习内容总结

第八章:常用实用类

String类:不可变类,一些看起来能够改变String的方法其实都是创建了一个带有方法所赋予特性的新String。StringBuffer类为字符串缓冲类,可变。

String类覆盖了Object类的equals()方法,而StringBuffer没有。String类的toString()方法是返回当前String实例本身的引用,而StringBuffer类的toString()方法返回的则是当前缓冲区中所有字符内容的新的String对象的引用。使用StringBuffer可以减少JVM创建String对象的次数,减少动态分配和回收内存的次数,提高程序的性能。

Scanner类:获取用户的输入

Math类:数学运算类

Random类:生成随机数

Data类:以毫秒数表示特定的日期。sysout(new Date()) 返回系统日期

DataFormat类:用于定制日期的格式。

Calendar类:设置和读取日期的其中一部分。

BigDecimal类:精准计算

第十五章:泛型与集合框架

一、集合框架

1、集合类的出现:面向对象语言对事物的体现的体现都是以对象的形式,所以为了方便对多个对象的操作,就对对象进行存储,集合就是存储对象最常用的一种方式。

2、数组与集合的异同:数组和集合同是容器,数组既能存储基本数据类型,也能存储对象,集合只能存储对象,数组的长度是固定的,集合的长度是可变的,数组内存储的对象类型在创建时就已经确定了,而集合可以存储多种不同类对象。

3、集合类中有众多的子类对象,它们作为容器对数据的存储方式都不同,这种方式叫做数据结构。

二、Collection

Collection是集合的根接口,其中定义了集合这一体系的共性功能,在集合中存储的都是对象的引用,既地址。

1、增加:往集合中加入元素的方法有add、addAll,其中add方法的参数类型是object,以便于接收任意类型的对象,addAll方法的参数类型是集合,用于将集合中的元素全部加入到指定集合中,这两种方法的返回值类型均为boolean。

2、删除:集合中控制删除的方法有remove、removeAll()、clear(),clear方法用于清空集合,没有具体的返回值类型,remove用于删除某个对象,removeAll用于删除集合参数内存在于调用该方法集合内的对象,这两种方法返回值类型均为boolean。

3、判断:contains方法有两个重载函数,用于判断是否存在某个对象或者某个集合。

4、获取:iterator方法获取迭代器用于取出集合中的元素。迭代器定义于集合内部,是一个内部类,这样就可以直接访问结合内部的元素,每一个容器的数据结构不同,所以取出的动作的细节也不同,但是都有共性的内容,判断和取出,将这么共性的内容进行抽取就形成了接口iterator。

5、查询:size方法用于获取集合元素的个数。

三、List

1、List类是Collection类一个子类,是一个抽象类,它存储对象的特点是有序的,元素可以重复,我们经常使用的List子类对象是ArrayList、LinkedList、Vector。因为List集合体系是有序列的,所以List集合可以通过角标操作集合内的元素。

四、Set

1、Set集合不同于List集合,它的元素是无序的,且不可重复,在Set集合中没有特殊的方法,全是实现的Collection的方法。常用的两个Set类结合有HashSet、TreeSet、

2、HashSet:底层是哈希表数据结构,线程非同步的,元素存入后按哈希值的大小存储。HashSet是保证元素唯一性依据的是hashCode和equals方法,如果元素的hashCode值一样,就会继续判断equals是否为true,如果hashCode值不同,不会调用equals方法。同样的在进行remove和contains方法时,会调用hashCode方法,如果没有相同的hashCode值,则不存在,如果有相同的hashCode值,会判断equals是否为true。

3、TreeSet:TreeSet集合的底层数据结构是二叉树,特点是可以对Set集合中的元素进行排序,进行排序的依据是存入的对象必须具有比较性,因此需要实现comparable,该接口可以强制让实现该接口的对象具有比较性,保证元素唯一性的依据是compareTo方法的返回值是0,TreeSet实现排序的方式有两种,一是实现comparable接口,覆盖compareTo方法,让元素自身具备比较性,这种方式也称为元素的自然顺序,或者叫默认顺序,第二种方式是当元素自身不具备比较性或者具备的比较性不是我们所需要的,那么我们就让集合自身具备比较性,定义一个比较器作为参数传递给集合的构造函数,这样集合在初始化时就具备了比较性。当两种排序都存在时,以比较器为主。

五、Map

1、Map集合中存储的是键值对,一对一对的往里存,并且要保证键值的唯一性。

2、Map集合的方法:

(1)增加:put(K key,V value)该方法会返回key值之前对应的value值。putAll方法则是将另一个Map集合中的键值对存储到指定集合中。

(2)删除:remove(K key)该方法在删除键的同时会同时返回对应的值。clear方法清空Map集合。

(3)判断:containsKey和containsValue方法分别判断指定Map集合中是否有对应的键值。

(4)查询:get(K  key)获取该键对应的值,values方法获取存储有所有值的collection集合,size方法获取Map集合的键值对个数。

(5)获取:主要有两种方法,keySet方法和entrySet,取出的原理就是将Map集合转成Set集合在遍历迭代器取出。

3、Map集合的常用子类对象:HashTable、HashMap、TreeMap,HashTable的底层数据结构是哈希表数据结构,不可以存入null键和null值,线程是同步的,HashMap的底层数据结构也是哈希表数据结构,它可以存入null键和null值,线程是非同步的,TreeMap的底层数据结构是二叉树,线程是非同步的,可以给Map集合中的键进行排序。我们可以通过get方法的返回值来判断一个键是否存在,如果返回值为null,则不存在该键。

代码托管

20165101刘天野 2017-2018-2 《Java程序设计》第6周学习总结的更多相关文章

  1. 20155326刘美岑 2016-2017-2 《Java程序设计》第二周学习总结

    20155326刘美岑 2016-2017-2 <Java程序设计>第二周学习总结 教材学习内容总结 教材第三章主要讲解的是基础语法,主要包括认识类型与变量.学习运算符的基本使用.了解类型 ...

  2. 20155326刘美岑2016-2017-2《Java程序设计》第一周学习总结

    20155326刘美岑 2006-2007-2 <Java程序设计>第1周学习总结 教材学习内容总结 在老师的要求下我看了这门课的考察方式.这门课和以前上的课有些差别,成绩是由平时一点一点 ...

  3. 学号 20175212 《Java程序设计》第九周学习总结

    学号 20175212 <Java程序设计>第九周学习总结 教材学习内容总结 一.MySQL数据库管理系统 1.在官网上下载并安装MySQL 2.在IDEA中输入测试代码Connectio ...

  4. 20145213《Java程序设计》第九周学习总结

    20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...

  5. 20145213《Java程序设计》第二周学习总结

    20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...

  6. 20145213《Java程序设计》第一周学习总结

    20145213<Java程序设计>第一周学习总结 教材学习内容总结 期待了一个寒假,终于见识到了神秘的娄老师和他的Java课.虽说算不上金风玉露一相逢,没有胜却人间无数也是情理之中,但娄 ...

  7. 21045308刘昊阳 《Java程序设计》第九周学习总结

    21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...

  8. 20145330孙文馨 《Java程序设计》第一周学习总结

    20145330孙文馨 <Java程序设计>第一周学习总结 教材学习内容总结 刚开始拿到这么厚一本书说没有压力是不可能的,开始从头看觉得很陌生进入不了状态,就稍微会有一点焦虑的感觉.于是就 ...

  9. 20145337 《Java程序设计》第九周学习总结

    20145337 <Java程序设计>第九周学习总结 教材学习内容总结 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JDBC可以 ...

  10. 20145337 《Java程序设计》第二周学习总结

    20145337 <Java程序设计>第二周学习总结 教材学习内容总结 Java可分基本类型与类类型: 基本类型分整数(short.int.long).字节(byte).浮点数(float ...

随机推荐

  1. Spring 入门之-dao使用jdbcTemplate(注入过程)

    技巧:在为把dataSourc连接池注入到jdbcTemplate里面时,学到一招:按住CTRL 不松,点击相关类名,可以自动跳转或打开. 说明:主要过程, 1.创建UserDao和UserServi ...

  2. 通过ssh隧道访问mysql(转载)

    我的机器可以连接服务器A,A可以访问服务器B上的mysql,但是我的机器不能访问B,所以我需要建立一个我本地机器到服务器A的ssh隧道来访问服务器B上的mysql. 理一下思路: 1.我要ssh的服务 ...

  3. SEO前端需要注意的地方

    1 合理的title ,description ,keyswords 搜索引擎对这三项的权重逐渐减小,title 强调重点即可,重要的关键字不要超过两次,而且要靠前. 2 不同的tilte要有所不同, ...

  4. iOS开发笔记--如何实现程序长时间未操作退出

    我们使用金融软件经常会发现手机锁屏或者长时间未操作就会退出程序或者需要重新输入密码等情况.下面让我们看一下如何实现这种功能.我们知道iOS有一个事件循环机制,也就是大家所说的runloop.我们在对程 ...

  5. poll机制实例参考

    poll机制:为了减少CPU资源的占用率,在编写驱动函数中添加poll机制 select,poll,epoll都是IO多路复用的机制.I/O多路复用就通过一种机制,可以监视多个描述符,一旦某个描述符就 ...

  6. CodeIgniter框架——源码分析之Config.php

    CI框架的配置信息被存储在$config数组中,我们可以添加自己的配置信息或配置文件到$config中: $this->config->load('filename'); //加载配置文件 ...

  7. Sharepoint server 2016自定义作业不能部署

    最近帮客户部署SharePoint server 2016生产环境,自定义作业总是不能部署上,原来我在部署过程中MinRole选的是Web前端服务器:经过几天的测试研究,发现要有single serv ...

  8. 借助EasyNTS云组网,无需拉专线,也能解决设备现场无公网固定IP的问题

    一.产品背景 为了帮助企业和个人用户解决网络访问和设备控制的问题,我们研发了一款创新型产品:EasyNTS云组网系统.什么是EasyNTS,什么是云组网呢? 在解释之前,我们先来了解几个在凡是涉及网络 ...

  9. 巨蟒django之CRM2 展示客户列表&&分页

    1.展示客户列表 点击画红线中的views,进入下列界面 路径的查找顺序:应该是先查找外层的templates里边的html,然后查找app里边的templates 另一个会按照app的顺序进行寻找, ...

  10. 九度OJ 1360:乐透之猜数游戏 (递归)

    时间限制:2 秒 内存限制:32 兆 特殊判题:否 提交:955 解决:261 题目描述: 六一儿童节到了,YZ买了很多丰厚的礼品,准备奖励给JOBDU里辛劳的员工.为了增添一点趣味性,他还准备了一些 ...