日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

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

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

1. 本周學(xué)習(xí)總結(jié)

以你喜歡的方式(思維導(dǎo)圖或其他)歸納總結(jié)集合相關(guān)內(nèi)容。

2. 書面作業(yè)

ArrayList代碼分析

1.1 解釋ArrayList的contains源代碼

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

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

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

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

不需要,因?yàn)槭荗bject類,所有類都是它的子類,都會被強(qiáng)制轉(zhuǎn)換類型。

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

擴(kuò)充容量到所需的容量大小。

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


這個是內(nèi)部使用的,就是查看是否出界,沒必要給外界進(jìn)行修改。

HashSet原理

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

HashSet內(nèi)部實(shí)際是使用了HashMap,

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

ArrayListIntegerStack

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

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

ArrayListIntegerStack是用ArrayList來實(shí)現(xiàn),ArrayIntegerStack是用Integer數(shù)組來實(shí)現(xiàn)。ArrayIntegerStack需要用到top而ArrayListIntegerStack不需要。

3.2 簡單描述接口的好處.

實(shí)現(xiàn)了擴(kuò)展功能,對于這題利用接口IntegerStack操作不同的方法。

Stack and Queue

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

#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); //棧操作函數(shù) 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)) {//字符依次出棧和字符數(shù)組比較,判斷是否回文數(shù) if (temp.top->d == input[flag]) { pop(&temp); flag++; } else { cout<<"此字符序列不是回文數(shù)!\n"; break; } } if (empty(&temp)) cout<<"此字符序列是回文數(shù)!\n"; return 1; }

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

4.2 題集jmu-Java-05-集合之5-6 銀行業(yè)務(wù)隊(duì)列簡單模擬。(不要出現(xiàn)大段代碼)

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

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

5.1 實(shí)驗(yàn)總結(jié)

每個單詞出現(xiàn)只要統(tǒng)計(jì)一次,而Set的實(shí)現(xiàn)類中用TreeSet對對象進(jìn)行排序

3. 碼云上代碼提交記錄及PTA實(shí)驗(yàn)總結(jié)

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

3.1. 碼云代碼提交記錄

在碼云的項(xiàng)目中,依次選擇“統(tǒng)計(jì)-Commits歷史-設(shè)置時間段”, 然后搜索并截圖

3.2. PTA實(shí)驗(yàn)

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

實(shí)驗(yàn)總結(jié)已經(jīng)在作業(yè)中體現(xiàn),不用寫。

轉(zhuǎn)載于:https://www.cnblogs.com/hdf433/p/6682920.html

總結(jié)

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

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