java字串 集合 集合框架

2021-08-19 16:22:23 字數 4007 閱讀 8369

1. 常用類

1.1 string 和

stringbuffer

string 型別的賦值理解

int a = 3;

a = 5;

這段**的含義是:首先申請記憶體單元,命名為a,同時將

3這個值儲存到這個記憶體單元中,然後又將

5這個值存入記憶體單元中,這個記憶體單元的之前的值在被賦值後就被修改了。

string str =new string("123");

str = 「123」;

對於引言而言,賦值並不是改變原來的引用物件的值,而只是調整了引用的關係,所以在使用「==

」符號進行比較時,需要特別的注意。

string str =new string("123");

string str1 = new string("123");

system.out.println(str == str1);

system.out.println(str.equals(str1));

因為str和str1引用的是不同的物件,所以str==str1 為假的。

因為str和str1引用的字串記憶體是相同的,所以str.equals(str1)

為真。string 類常用的方法:

equals,length,charat,format,substring,indexof,

lastindexof,replace,trim,touppercase,tolowercase,

length 得到字串的長度。

chatat 返回下標為幾的值。

format 格式化   

substring 得到下標(幾到幾,前含後不含)

indexof 從指定的索引開始搜尋,返回在此字串中第一次出現指定字元處的索引。

replace返回乙個新的字串,它是通過用 newchar 替換此字串中出現的所有 oldchar 而生成的。

trim  返回字串的副本,忽略前導空白和尾部空白

。(不要兩端空格

)touppercase和

tolowercase   

使用預設語言環境的規則將此 string 中的所有字元都轉換為大寫

和使用預設語言環境的規則將此 string 中的所有字元都轉換為小寫。

stringbuffer 常用的方法

setcharat,reverse。

insert  插入

(int offset, boolean b)

將布林引數的字串表示插入到這個序列中。

(插到下標為幾,插入內容

)deletecharat    (int索引

)在此序列中刪除指定位置的

char

,刪除下標

|delete    刪除(開始,結束)

(int start, int end)

刪除該序列的子字串中的字元。(前包含後不包含)。

replace(int start, int end, string str)用指定字串中的字元替換該序列的子字串中的字元。(開始下標,結束下標,前包含後不包含)。

setcharat  (int索引,

char ch)

在指定索引處的字元被設定為ch。

(下標為幾,單引號寫成要替換的字元)。

reverse   反向

()使這個字串行被序列的反向替換。  

1.2陣列物件

arrays提供了陣列的常見操作,比如查詢,排序等,且他的方法都是靜態的,所以實際上它是乙個工具類,提供方法,方便程式設計

fill  將指定陣列物件中索引元件的值設定為指定的

資料型別的

值。sort  將陣列裡的資料公升序排序。

1.2math類

靜態的常量   e e,pi π,

動態的常量 abs  max  min  pow  random  round  sqrt

1.3日期類 :

calendar

date   

1.4包裝類

為什麼要用包裝類,因為基礎型別和其他型別處理是不同的,

基礎型別的賦值,是直接修改變數裡面的值。準確的說,是修改了記憶體單元裡面的內容。

其他型別的賦值,是改變了引用的指向。

很多地方統一(尤其是泛型),系統提供了我們基本型別所對應的包裝類。

int - integer   char - character  其他的基本型別是首字母大寫即可

集合框架:

2.1 vector

vector(向量):動態陣列

為什麼需要動態陣列,很多時候,我們無法先去確定陣列的元素的個數,如果使用了靜態陣列,小了不夠用,大了會造成記憶體空間的浪費。這個時候我們就需要動態的陣列,可以按照一定增量來增加容量。

vectorv1 = new vector<>(5,2); //動態陣列的容量預設為十

//初始容量    自增量

system.out.println(v1.capacity());

system.out.println(v1.size());

v1.add(1);

v1.add(2);

v1.add(3);

v1.add(4);

v1.add(5);

v1.add(6);

v1.add(7);

v1.add(8);

v1.add(9);

v1.add(10);

v1.add(11);

v1.remove(1);

v1.remove(3);

v1.remove(5);

system.out.println(v1.capacity());

system.out.println(v1.size());

system.out.println(v1.tostring());

vector 的初始容量和和增量都是十,可以通過他的構造方法來設定容量和增量。所謂的增量,就是在容量不夠時,增加的量

size    capacity    add   remove(int index): 刪除指定位置的元素  remove(object o): 刪除指定元素 (第乙個)

trimtosize()

將容量調至最小

indexof()

找出指定

元素的下標

get() 找出指定下標的元素  

contains

()找出元素是否在

set() 根據下標 值換成你指定的值   

firstelement()

2.2 棧 stack

棧的特點:先進後出,後進先出

push  把項壓入棧頂。

()peek  檢視棧頂物件而不移除它。

search 返回物件在棧中的位置,以 1 為基數。

pop  移除棧頂物件並作為此函式的值返回該物件。

2.3 list 類

lists 是乙個介面,繼承自 collection 介面,常用的實現類:arraylist,linklist,

2.4 set

set 也是乙個介面,它表示乙個無重複元素的集合,無序,唯一(它

是通過判斷hashcode來判斷是否重複,如果得不到我們想要的結果,那就重寫aquals方法)。

set的實現類 hashset

當我們新增了重複的元素,但輸出時,並沒有出現重複,(set的重複的意思是a.equals(b)返回ture)

2.5 map

map是以鍵值對(key:value)的形式儲存資料,常用有jdbc中。

map 也是無序的,且鍵值要求是唯一的。如果有重複的鍵名,以最後出現的鍵值為準。

2.6 迭代器

2.7 collections 工具類

swap  在指定列表的指定位置處交換元素。

replaceall  使用另乙個值替換列表中出現的所有某一指定值。

sort  順序排序    max  min   最大值 最小值

shuffle

隨機排序

reverse

倒序排列

java集合框架(map集合)

map集合 該集合儲存鍵值對,一對一對往裡存,而且要保證鍵值得唯一性。一 基本方法 1.新增 put k key,v value 將指定的值與此對映中的指定鍵關聯 可選操作 putall map m 從指定對映中將所有對映關係複製到此對映中 可選操作 2.刪除 從此對映中移除所有對映關係 可選操作 ...

Java 集合框架 List 集合

arraylist,linkedlist,vector,stack是list的4個實現類。arraylist 是乙個陣列佇列,相當於動態陣列。它由陣列實現,隨機訪問效率高,隨機插入 隨機刪除效率低。linkedlist 是乙個雙向鍊錶。它也可以被當作堆疊 佇列或雙端佇列進行操作。linkedlist...

java集合框架

集合框架包括集合與對映 collection and map 以及它們的子類 容器類 1 list 元素有先後次序的集合,元素有index位置,元素可以重複,繼承自collection介面,實現類 arraylist,vector,linkedlist 2 set 元素無續,不能重複新增,是數學意義...