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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

201521123032 《Java程序设计》第7周学习总结

發布時間:2023/12/2 java 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 201521123032 《Java程序设计》第7周学习总结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1. 本周學習總結

以你喜歡的方式(思維導圖或其他)歸納總結集合相關內容。

2. 書面作業

ArrayList代碼分析

1.1 解釋ArrayList的contains源代碼

在contains方法中調用indexOF方法,首先比較下標o,如果o==null那么elementData[]中是否==null,如果有就返回下標,如果沒有就返回-1。如果o不為null,那么就用equals比較o與elementData[]有沒有相同的情況,若有就返回下標,沒有就返回-1。

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

首先檢查是否在邊界范圍內,用E oldValue保存原來的,判斷后把數組前移,最后一位置為null。

1.3 結合1.1與1.2,回答ArrayList存儲數據時需要考慮元素的類型嗎?

不需要,因為是Object類,所有類都是它的子類,都會被強制轉換類型。

1.4 分析add源代碼,回答當內部數組容量不夠時,怎么辦?

擴充容量到所需的容量大小。

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


這個是內部使用的,就是查看是否出界,沒必要給外界進行修改。

HashSet原理

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

HashSet內部實際是使用了HashMap,

2.2 選做:嘗試分析HashSet源代碼后,重新解釋1.1

ArrayListIntegerStack

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

3.1 比較自己寫的ArrayListIntegerStack與自己在題集jmu-Java-04-面向對象2-進階-多態、接口與內部類中的題目5-3自定義接口ArrayIntegerStack,有什么不同?(不要出現大段代碼)

ArrayListIntegerStack是用ArrayList來實現,ArrayIntegerStack是用Integer數組來實現。ArrayIntegerStack需要用到top而ArrayListIntegerStack不需要。

3.2 簡單描述接口的好處.

實現了擴展功能,對于這題利用接口IntegerStack操作不同的方法。

Stack and Queue

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

#include <iosteam> #include <string> using namespace std; #define EMPTY 0 #define FULL 10000 #define MAX 10000 typedef char data; typedef struct elem { data d; struct elem *next; }elem; typedef struct stack { int cnt; elem *top; }stack; void initialize(stack *stk); void push(data d, stack *stk); data pop(stack *stk); bool empty(const stack *stk); bool full(const stack *stk); //棧操作函數 void initialize(stack *stk) { stk->cnt = 0; stk->top = NULL; } bool empty(const stack *stk) { return stk->cnt == EMPTY; } bool full(const stack *stk) { return stk->cnt == FULL; } void push(data d, stack *stk) { elem *p; if (!full(stk)) { p = (elem *)malloc(sizeof(elem)); p->d = d; p->next = stk->top; stk->top = p; stk->cnt++; } } data pop(stack *stk) { data d; elem *p; if(!empty(stk)) { d = stk->top->d; p = stk->top; stk->top = stk->top->next; stk->cnt--; delete p; } return d; } int main201521123032(void) { data input[MAX]; stack temp; int i = 0; int flag = 0; initialize(&temp); //初始化臨時棧 cin>>&input; //輸入字符串 while (input[i] != '@') {//字符串入棧 push(input[i], &temp); i++; } while (!empty(&temp)) {//字符依次出棧和字符數組比較,判斷是否回文數 if (temp.top->d == input[flag]) { pop(&temp); flag++; } else { cout<<"此字符序列不是回文數!\n"; break; } } if (empty(&temp)) cout<<"此字符序列是回文數!\n"; return 1; }

參考[1](http://wenda.so.com/q/1362524971061758)

4.2 題集jmu-Java-05-集合之5-6 銀行業務隊列簡單模擬。(不要出現大段代碼)

統計文字中的單詞數量并按單詞的字母順序排序后輸出

題集jmu-Java-05-集合之5-2 統計文字中的單詞數量并按單詞的字母順序排序后輸出 (不要出現大段代碼)

5.1 實驗總結

每個單詞出現只要統計一次,而Set的實現類中用TreeSet對對象進行排序

3. 碼云上代碼提交記錄及PTA實驗總結

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

3.1. 碼云代碼提交記錄

在碼云的項目中,依次選擇“統計-Commits歷史-設置時間段”, 然后搜索并截圖

3.2. PTA實驗

編程(5-1, 5-2, 5-3(選做), 5-6)

實驗總結已經在作業中體現,不用寫。

轉載于:https://www.cnblogs.com/hdf433/p/6682920.html

總結

以上是生活随笔為你收集整理的201521123032 《Java程序设计》第7周学习总结的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。