java第三周周報(bào)

前言

本周是學(xué)習(xí)java的第三周,專(zhuān)注于看視頻學(xué)習(xí)而沒(méi)有做題。。

參考教程:

W3Cschool

本周學(xué)習(xí)要點(diǎn):

1.接口都是抽象類(lèi),[訪問(wèn)修飾符] interface 接口名 [extends 父接口1,父接口2,... ]{常量定義,方法定義}。

2.內(nèi)部類(lèi):即一個(gè)類(lèi)在另一個(gè)類(lèi)的內(nèi)部,實(shí)例化Outer.Inner inner = new Outer().new Inner()

3.System.arraycopy(src, srcPos, dest, destPos, length)可用于數(shù)組自身的拷貝,參數(shù)分別是原數(shù)組,拷貝位置,目標(biāo)數(shù)組,目標(biāo)數(shù)組起始位置,拷貝長(zhǎng)度,若要?jiǎng)h除數(shù)組內(nèi)某個(gè)元素,只需要對(duì)數(shù)組自身拷貝后令最后一個(gè)值為null即可。數(shù)組擴(kuò)容可以定義另一個(gè)更大的數(shù)組然后將原數(shù)組拷貝過(guò)去。

4.Arrays.binarySearch(array,key)在數(shù)組中查找指定數(shù)字所在數(shù)字內(nèi)的索引,找不到則返回-1。

5.Arrays.toString()可將數(shù)組打印出來(lái)。

6.包裝類(lèi),因?yàn)閕nt,char等不是對(duì)象,無(wú)法向上獲取到Object提供的方法,所以才有了包裝類(lèi),即是把基本數(shù)據(jù)類(lèi)型和一些方法包裝到一個(gè)類(lèi)中。

7.包裝類(lèi)可用intvalue doublevalue等轉(zhuǎn)換成基本數(shù)據(jù)類(lèi)型。Integer.parseInt可把字符串轉(zhuǎn)換成包裝類(lèi)對(duì)象,包裝類(lèi)轉(zhuǎn)字符串用`toString。

8.包裝類(lèi)可直接Integer a = 10=Integer a = Integer.valueof(10)編譯器會(huì)幫我們自動(dòng)裝箱。同理,也有自動(dòng)拆箱,int b = a=int b = a.intValue()。

9.兩個(gè)包裝類(lèi)如Integer a=1234,Integer b =1234但a!=b,因?yàn)樗麄兪莾蓚€(gè)不同的對(duì)象,但比較值a.equals(b)是為true,但若處于[-128,127]范圍內(nèi)則a=b為true,因?yàn)閇-128,127]處于緩存范圍內(nèi)。

Java集合框架初步了解

image.png

在力扣中做了好多題,發(fā)現(xiàn)java的題大部分都需要運(yùn)用到集合框架,該框架提供了一些接口:
1.Collection(Collection 接口存儲(chǔ)一組不唯一,無(wú)序的對(duì)象。)
2.List(List 接口存儲(chǔ)一組不唯一,有序(插入順序)的對(duì)象。)
3.Set(Set 接口存儲(chǔ)一組唯一,無(wú)序的對(duì)象。)
4.SortedSet(繼承于Set保存有序的集合)
5.Map(Map 接口存儲(chǔ)一組鍵值對(duì)象,提供key(鍵)到value(值)的映射。)
6.Map.Entry(描述在一個(gè)Map中的一個(gè)元素(鍵/值對(duì))。是一個(gè)Map的內(nèi)部類(lèi)。)
7.SortedMap(繼承于 Map,使 Key 保持在升序排列。)
8.Enumeration(這是一個(gè)傳統(tǒng)的接口和定義的方法,通過(guò)它可以枚舉(一次獲得一個(gè))對(duì)象集合中的元素。這個(gè)傳統(tǒng)接口已被迭代器取代。)
集合框架中提供了一些集合類(lèi):
1.AbstractCollection
實(shí)現(xiàn)了大部分的集合接口。
2.AbstractList
繼承于AbstractCollection 并且實(shí)現(xiàn)了大部分List接口。
3.AbstractSequentialList
繼承于 AbstractList ,提供了對(duì)數(shù)據(jù)元素的鏈?zhǔn)皆L問(wèn)而不是隨機(jī)訪問(wèn)。
4.LinkedList
該類(lèi)實(shí)現(xiàn)了List接口,允許有null(空)元素。主要用于創(chuàng)建鏈表數(shù)據(jù)結(jié)構(gòu),該類(lèi)沒(méi)有同步方法,如果多個(gè)線(xiàn)程同時(shí)訪問(wèn)一個(gè)List,則必須自己實(shí)現(xiàn)訪問(wèn)同步,解決方法就是在創(chuàng)建List時(shí)候構(gòu)造一個(gè)同步的List。例如:
Listlist=Collections.synchronizedList(newLinkedList(...));
LinkedList 查找效率低。
5.ArrayList
該類(lèi)也是實(shí)現(xiàn)了List的接口,實(shí)現(xiàn)了可變大小的數(shù)組,隨機(jī)訪問(wèn)和遍歷元素時(shí),提供更好的性能。該類(lèi)也是非同步的,在多線(xiàn)程的情況下不要使用。ArrayList 增長(zhǎng)當(dāng)前長(zhǎng)度的50%,插入刪除效率低。
6.AbstractSet
繼承于AbstractCollection 并且實(shí)現(xiàn)了大部分Set接口。
7.HashSet
該類(lèi)實(shí)現(xiàn)了Set接口,不允許出現(xiàn)重復(fù)元素,不保證集合中元素的順序,允許包含值為null的元素,但最多只能一個(gè)。
8.LinkedHashSet
具有可預(yù)知迭代順序的 Set 接口的哈希表和鏈接列表實(shí)現(xiàn)。
9.TreeSet
該類(lèi)實(shí)現(xiàn)了Set接口,可以實(shí)現(xiàn)排序等功能。
10.AbstractMap
實(shí)現(xiàn)了大部分的Map接口。
11.HashMap
HashMap 是一個(gè)散列表,它存儲(chǔ)的內(nèi)容是鍵值對(duì)(key-value)映射。
該類(lèi)實(shí)現(xiàn)了Map接口,根據(jù)鍵的HashCode值存儲(chǔ)數(shù)據(jù),具有很快的訪問(wèn)速度,最多允許一條記錄的鍵為null,不支持線(xiàn)程同步。
12.TreeMap
繼承了AbstractMap,并且使用一顆樹(shù)。
13.WeakHashMap
繼承AbstractMap類(lèi),使用弱密鑰的哈希表。
14.LinkedHashMap
繼承于HashMap,使用元素的自然順序?qū)υ剡M(jìn)行排序.
15.IdentityHashMap
繼承AbstractMap類(lèi),比較文檔時(shí)使用引用相等。
目前我對(duì)于集合框架還沒(méi)做進(jìn)一步了解,正在看視頻學(xué)習(xí)中。

回溯算法

大致就是對(duì)問(wèn)題進(jìn)行探索求解,但不滿(mǎn)足條件時(shí)就進(jìn)行回溯,調(diào)用它自己,實(shí)際上也就是遞歸,事實(shí)上就是把問(wèn)題的每一種可能都列出來(lái),也就是窮舉法。回溯法可以理解為通過(guò)選擇不同的岔路口尋找目的地,一個(gè)岔路口一個(gè)岔路口的去嘗試找到目的地。如果走錯(cuò)了路,繼續(xù)返回來(lái)找到岔路口的另一條路,直到找到目的地。

image.png

n 皇后問(wèn)題研究的是如何將 n 個(gè)皇后放置在 n×n 的棋盤(pán)上,并且使皇后彼此之間不能相互攻擊。
上圖為 8 皇后問(wèn)題的一種解法。
給定一個(gè)整數(shù) n,返回所有不同的 n 皇后問(wèn)題的解決方案。
每一種解法包含一個(gè)明確的 n 皇后問(wèn)題的棋子放置方案,該方案中 'Q' 和 '.' 分別代表了皇后和空位。

這道題我目前的思路就是使用回溯法,在棋盤(pán)上對(duì)于皇后而言放置一只皇后之后它的行與列以及對(duì)角線(xiàn)都不能放置其他皇后,所以是使用回溯法在每下一次之后若不滿(mǎn)足則回溯。但限于我能力我目前連官方給的題解都看不懂。。所以還需要再進(jìn)一步學(xué)習(xí)java的集合與泛型。
歡迎訪問(wèn)我的博客www.redmango.top

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 回溯算法 回溯法:也稱(chēng)為試探法,它并不考慮問(wèn)題規(guī)模的大小,而是從問(wèn)題的最明顯的最小規(guī)模開(kāi)始逐步求解出可能的答案,并...
    fredal閱讀 14,027評(píng)論 0 89
  • 專(zhuān)業(yè)考題類(lèi)型管理運(yùn)行工作負(fù)責(zé)人一般作業(yè)考題內(nèi)容選項(xiàng)A選項(xiàng)B選項(xiàng)C選項(xiàng)D選項(xiàng)E選項(xiàng)F正確答案 變電單選GYSZ本規(guī)程...
    小白兔去釣魚(yú)閱讀 10,696評(píng)論 0 13
  • Swift1> Swift和OC的區(qū)別1.1> Swift沒(méi)有地址/指針的概念1.2> 泛型1.3> 類(lèi)型嚴(yán)謹(jǐn) 對(duì)...
    cosWriter閱讀 11,689評(píng)論 1 32
  • 一、基本數(shù)據(jù)類(lèi)型 注釋 單行注釋?zhuān)?/ 區(qū)域注釋?zhuān)?* */ 文檔注釋?zhuān)?** */ 數(shù)值 對(duì)于byte類(lèi)型而言...
    龍貓小爺閱讀 4,476評(píng)論 0 16
  • 說(shuō)來(lái)有意思,畫(huà)這幅山水時(shí)正逢香港回歸20周年,百感交集,心情起伏,想起97年7月1日那個(gè)夜晚在酒吧慶祝的情景,一班...
    劉佳畫(huà)室閱讀 398評(píng)論 4 5

友情鏈接更多精彩內(nèi)容