1. 本周学习总结

以你喜欢的方式(思维导图或其他)归纳总结集合相关内容。

参考资料:

XMind

2. 书面作业

1.ArrayList代码分析

1.1 解释ArrayList的contains源代码

解释:调用indexof方法,遍历保存数据的elementData数组,如果匹配,则返回数组中的下标

1.2 解释E remove(int index)源代码

解释:删除数组容器中指定位置index上的元素,并返回此元素。

1.3 结合1.1与1.2,回答ArrayList存储数据时需要考虑元素的类型吗?

不需要。因为返回时它会自动进行强制转换为指定类型。

1.4 分析add源代码,回答当内部数组容量不够时,怎么办?

回答:在末尾追加一个,增加数组总数。

1.5 分析private void rangeCheck(int index)源代码,为什么该方法应该声明为private而不声明为public?

因为该方法内部使用,保证index在ArrayList长度范围之内,并在越界时抛出异常。

2.HashSet原理

2.1 将元素加入HashSet(散列集)中,其存储位置如何确定?需要调用那些方法?

使用Map.put方法来将元素加入内部的map中,put方法使用hash方法来确定元素保存位置。

3.ArrayListIntegerStack

题集jmu-Java-05-集合之5-1 ArrayListIntegerStack

3.1 比较自己写的ArrayListIntegerStack与自己在题集jmu-Java-04-面向对象2-进阶-多态、接口与内部类中的题目5-3自定义接口ArrayIntegerStack,有什么不同?(不要出现大段代码)

ArrayListIntegerStack接口采用的是list列表来存储栈元素,ArrayIntegerStack采用的是数组的形式。

3.2 简单描述接口的好处.

(1)简单,规范 (2)易维护,可拓展性 (3)安全,严密

4.Stack and Queue

4.1 编写函数判断一个给定字符串是否是回文,一定要使用栈,但不能使用java的Stack类(具体原因自己搜索)。请粘贴你的代码,类名为Main你的学号。

import java.util.ArrayList;
import java.util.List;
public class StackTest {
public static void Main201521123040(String[] args) {
String str = "abcba";
System.out.println(str + "回文数:" + isPalindrome(str));
str = "abccba";
System.out.println(str + "回文数:" + isPalindrome(str));
str = "123321";
System.out.println(str + "回文数:" + isPalindrome(str));
str = "1238887321";
   System.out.println(str + "回文数:" + isPalindrome(str));
  }
 public static boolean isPalindrome(String pValue){
     List<Character>  stack = new ArrayList<Character>();
    List<Character>  stack2 = new ArrayList<Character>();
    int haflen = pValue.length()/2;
    for(int i=0;i<haflen;i++){
      stack.add(pValue.charAt(i));
    stack2.add(pValue.charAt(pValue.length()-i-1));
  }
boolean bFlag = true;
for(int i=haflen-1;i>=0;i--){
if(stack.remove(i) != stack2.remove(i)){
bFlag = false;
break;
}
}
return bFlag;
}
}

4.2 题集jmu-Java-05-集合之5-6 银行业务队列简单模拟。(不要出现大段代码)

统计文字中的单词数量并按单词的字母顺序排序后输出

5.题集jmu-Java-05-集合之5-2 统计文字中的单词数量并按单词的字母顺序排序后输出 (不要出现大段代码)

5.1 实验总结

TreeSet默认是按照键的自然顺序排序。

3. 码云上代码提交记录及PTA实验总结

题目集:jmu-Java-05-集合

3.1. 码云代码提交记录

在码云的项目中,依次选择“统计-Commits历史-设置时间段”, 然后搜索并截图

3.2. PTA实验

201521123040《Java程序设计》第7周学习总结的更多相关文章

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  8. 20145218《Java程序设计》第一周学习总结

    20145218 <Java程序设计>第一周学习总结 教材学习内容总结 今天下午看了Java学习的视频,感觉很是新奇,之前觉得Java学起来是艰难枯燥的,但通过第一章的学习觉得如果自己可以 ...

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

    20145224 <Java程序设计>第九周学习总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的 ...

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

    20145224陈颢文<Java程序设计>第二周学习总结 教材学习内容总结 一.类型.变量与运算符 1.类型 整数: 可细分为为short整数(占2字节),int整数(占4字节),long ...

随机推荐

  1. 逻辑回归的实现(LogicalRegression)

    1.背景知识       在刚刚结束的天猫大数据s1比赛中,逻辑回归是大家都普遍使用且效果不错的一种算法.   (1)回归           先来说说什么是回归,比如说我们有两类数据,各有50十个点 ...

  2. angularJS实战(一)

    angular实现列表 accessCtrl.js let AccessCtrl = function($scope, AlertService, DialogService, BigDataServ ...

  3. 使用rem来做响应式布局(js动态加载)

    <script> ;(function (doc,win) { var htmlEle=doc.documentElement; var reload="orientationc ...

  4. Kettle安装和配置

    0x01 Kettle软件概览 Spoon:集成开发环境 Kitchen:作业的命令行运行程序,可以通过Schell脚本来调用 Pan:转换的命令行程序 Carte:轻量级的HTTP服务,后台运行,监 ...

  5. 使用 GitHub+Hexo 搭建个人博客

    1.安装Git和Hexo 安装Hexo前,需要安装Node.js和Git: Node.js 下载地址 我选择的是v6.11.2 LTS Git 下载地址 我下载的是Git-2.12.2.2-64-bi ...

  6. HDU 6153 拓展KMP (2017CCPC)

    A Secret Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 256000/256000 K (Java/Others)Total ...

  7. Monad详解

    最近几年,函数式编程变得越来越流程,其代码简洁.副作用小.维护成本低等特点,使得许多其它的语言也开始支持函数式编程,比如Java 和 C#等.本文主要介绍一下函数式编程中的一个重要概念:Monad. ...

  8. nGrinder 简易使用教程

    背景 性能压测工具之前使用的是jmeter,这次说的是nGrinder,先直接搬运两者之间的比较 比较点 JMeter nGrinder 结果 实现语言 Java Java = License Apa ...

  9. 【Tomcat】batch获得war包

    功能: 将maven项目打包复制到tomcat/webapps set git=C:\Users\zhengwenqiang\git set tomcat=e:\tomcat7.0.64 c: cd ...

  10. BotVS配置托管者-基于新浪云

    1. 创建SAE应用 登录新浪云平台,点击创建新应用 2. SAE环境部署 在新应用中选择自定义 相应选项如下 开发语言:自定义 运行环境:云容器 语言版本:自定义 部署方式:手工部署 操作系统:系统 ...