zoukankan      html  css  js  c++  java
  • 201521123040《Java程序设计》第7周学习总结

    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实验

  • 相关阅读:
    子级必须浮动,父级如何自动适应高度
    如何应用JS来改变CSS样式
    php对多维数组按某值排序的例子
    php socket编程
    HLSL 高级着色语言基础
    谈谈.NET提供的各种记时器
    获取中文字符串的Unicode值的方法!
    Tab键和KeyDown,KeyUp事件
    公有字段和属性的选择!
    C#中汉字的繁体和简体的相互转换的两个方法!
  • 原文地址:https://www.cnblogs.com/hyrrr/p/6682912.html
Copyright © 2011-2022 走看看