《疯狂Java讲义》9
目錄
正則表達式
Java集合
正則表達式
????昨天簡單的介紹了一下正則表達式(好吧,就說了一句)。個人覺得這個玩意挺神奇,挺好玩,但是我不容易直接表述的很清楚。就簡單講點理論上的東西吧。
1. 正則表達式是一個用于匹配字符串的模板。實際上,任意字符串都可以當成正則表達式使用,例如“abc”,它也是一個正則表達式,只是它只能匹配“abc”字符串。
2. 創建正則表達式:
????創建正則表達式就是創建一個特殊的字符串。在這個表達式中,有很多的字符,預定義字符、邊界匹配符、特殊字符等。具體大家自行百度好了。
????正則表達式支持的數量標識符有如下幾種模式:
????(1)Greedy(貪婪模式)
????(2)Reluctant(勉強模式)
????(3)Possessive(占有模式)
3. 使用正則表達式:
????一旦在程序中定義了正則表達式,就可以使用Pattern和Matcher來使用正則表達式。
????Pattern對象是正則表達式編譯后在內存中的表示形式,因此,正則表達式字符串必須先被編譯成Pattern對象,然后再利用Pattern對象創建對應的Matcher對象。執行匹配所涉及的狀態保留在Matcher對象中,多個Matcher對象可共享同一個Pattern對象。
????通過Matcher類的find()和group()方法可以從目標字符串中依次取出特定子串。
舉個栗子:
?
上面展示的是在一些文字中自動尋找出電話號碼的代碼。
????紅框中的就是在創建Pattern和Matcher對象,目的是尋找電話號碼,引號中的含義是:13開頭或者15開頭,后面隨意跟一個阿拉伯數字,然后再隨意跟8個數字的字符串。下面的藍框就是通過find和group方法獲得所需要的字符串。結果如下:
????還是很神奇的對吧!如果程序再進一步,可以從網上提取超鏈接信息,再根據超鏈接打開其他網頁,然后再其他網頁上重復這個過程就可以實現簡單的網絡爬蟲了。
????其實還有很多比較好的操作,但是我不想寫~后面就是什么國際化與格式化什么的,現在不想看~第七章過了~~噢耶!!!
Java集合
????java集合類是一種特別有用的工具類,可用于存儲適量不等的對象,并可以實現常用的數據結構,如棧、隊列等。除此之外,Java集合還可用于保存具有映射關系的關聯數組。Java集合大致可以分為Set、List、Queue和Map四種體系,其中Set表示無序,不可重復的集合;List表示有序,重復的集合;而Map表示既有映射關系的集合;Java5又增加了Queue體系集合,代表一種隊列集合實現。
Java集合概述
????為了保存數量不確定的數據,以及保存具有映射關系的數據(也被稱為關聯數組),Java提供了集合類。集合類主要負責保存、盛裝其他數據,因此集合類也被稱為容器類。
????集合類和數組不一樣,數組元素既可以是基本類型的值,也可以是對象;而集合里只能保存對象。
????Java的集合類主要是由兩個接口派生而出:Collection和Map。
????將Java所有集合分成三大類:Set集合、List集合、Map集合。
總結
以上是生活随笔為你收集整理的《疯狂Java讲义》9的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《疯狂Java讲义》8
- 下一篇: 《疯狂Java讲义》10