日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

201621123068 作业08-集合

發(fā)布時間:2023/11/27 生活经验 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 201621123068 作业08-集合 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1. 本周學習總結

2. 書面作業(yè)

1. ArrayList代碼分析

1.1 解釋ArrayList的<contains>源代碼

答:源代碼

public boolean contains(Object o) {
return indexOf(o) >= 0;}  
public int indexOf(Object o) {
if (o == null) {for (int i = 0; i < size; i++)if (elementData[i]==null)return i;
} else {for (int i = 0; i < size; i++)if (o.equals(elementData[i]))return i;
}
return -1;
}

解釋:contains方法先判斷對象是否為null,是則查看列表中是否包含null,包含返回下標。若對象不為null時,若該列表中包含指定元素則返回true。

1.2 解釋<E remove(int index)>源代碼

答:源代碼

public E remove(int index) {rangeCheck(index);modCount++;E oldValue = elementData(index);int numMoved = size - index - 1;if (numMoved > 0)System.arraycopy(elementData, index+1, elementData, index,numMoved);elementData[--size] = null;           return oldValue;
}

解釋:先判斷傳入的index的值是否超過了size,再取出index對應的元素下標,之后把元素全部向前進一位,最終返回被刪除的元素,執(zhí)行size減1,將最后一個元素置為null

1.3 結合1.1與1.2,回答ArrayList存儲數(shù)據(jù)時需要考慮元素的具體類型嗎?

答:不需要
原因:ArrayList的實質(zhì)是一個object數(shù)組,ArrayList類眾多方法的參數(shù)是Object類,而Object類是所有類的父類。

1.4 分析add源代碼,回答當內(nèi)部數(shù)組容量不夠時,怎么辦?

答:源代碼

解決辦法:如果內(nèi)存數(shù)組容量不夠時,數(shù)組容量會進行自動擴容。,將數(shù)組容量擴充為1.5倍

1.5 分析<private void rangeCheck(int index)>源代碼,為什么該方法應該聲明為private而不聲明為public?

答:源代碼

private void rangeCheck(int index) {if (index >= size)throw new IndexOutOfBoundsException(outOfBoundsMsg(index));}

解釋:此方法并不需要讓人知道操作過程,所以聲明為private而不聲明為public。

2. HashSet原理

2.1 將元素加入HashSet(散列集)中,其存儲位置如何確定?需要調(diào)用那些方法?

答:首先使用hashCode()方法來計算哈希值從而得到存儲位置,判斷是否存在重復元素時,調(diào)用到equal()方法來比較,若不同則添加元素到尾部,相同則不添加

2.2 將元素加入HashSet中的時間復雜度是多少?是O(n)嗎?(n為HashSet中已有元素個數(shù))

答:時間復雜度為O(1),計算哈希值的次數(shù)是常量

3. ArrayListIntegerStack

題集jmu-Java-05-集合之ArrayListIntegerStack

3.1 比較自己寫的ArrayListIntegerStack與自己在題集jmu-Java-04-面向?qū)ο?-進階-多態(tài)、接口與內(nèi)部類中的題目自定義接口ArrayIntegerStack,有什么不同?(不要出現(xiàn)大段代碼)

答:數(shù)據(jù)類型不同,一個使用Array實現(xiàn),一個使用列表List實現(xiàn)

3.2 結合該題簡單描述接口的好處,需以3.1為例詳細說明,不可泛泛而談。

答:<ArrayListIntegerStack><ArrayIntegerStack>繼承了同一個接口,只需要修改方法就可實現(xiàn)操作不同的類。

4. Stack and Queue

4.1 編寫函數(shù)判斷一個給定字符串是否是回文,一定要使用棧(請利用Java集合中已有的類),但不能使用java的Stack類(具體原因自己搜索)與數(shù)組。請粘貼你的代碼,類名為Main你的學號。

答:


4.2 題集jmu-Java-05-集合之銀行業(yè)務隊列簡單模擬(只粘貼關鍵代碼)。請務必使用Queue接口,并說明你使用了Queue接口的哪一個實現(xiàn)類?

答:使用LinkedList實現(xiàn)

5. 統(tǒng)計文字中的單詞數(shù)量并按單詞的字母順序排序后輸出

題集jmu-Java-05-集合之5-2 統(tǒng)計文字中的單詞數(shù)量并按單詞的字母順序排序后輸出 (作業(yè)中不要出現(xiàn)大段代碼)

5.1 實驗總結

答:本題使用set中的Treeset來做

3.碼云及PTA

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

3.1. 碼云代碼提交記錄

3.2 截圖PTA題集完成情況圖

3.3 統(tǒng)計本周完成的代碼量

周次總代碼量新增代碼量總文件數(shù)新增文件數(shù)
26256259999
31785102517273
53634184925987
655001866374115
7607357342147
8679972648665
97479680607121

轉載于:https://www.cnblogs.com/jmu201621123068/p/7819286.html

總結

以上是生活随笔為你收集整理的201621123068 作业08-集合的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。