常用類 string類: 常量都是存在jvm,方法區的常量池當中 String str1 = "123"; String str2 = "123"; System.out.println(str1.equals(str2));//true System.out.println(str1 == str ...
常用類
string類:
常量都是存在jvm,方法區的常量池當中String str1 = "123"; String str2 = "123";
System.out.println(str1.equals(str2));//true System.out.println(str1 == str2));//true
String str3 = new String("123");
String str4 = new String("123");
System.out.println(str3.equals(str4));//true System.out.println(str3 == str4));//false
string類的構造方法
String s6 = new String(“abc”); //創建String對象,字元串內容為abc
byte[] bys = new byte[]{97,98,99,100};// 創建String對象,把數組元素作為字元串的內容
String s2 = new String(bys);//創建String對象,把一部分數組元素作為字元串的內容,參數offset為數組元素的起始索引位置,參數length為要幾個元素
String s3 = new String(bys, 1, 3);
System.out.println(s2);//abcd
System.out.println(s3);//bcd//解決請求亂碼時需要用到,在此先做瞭解
String s4 = new String(s3.getBytes("ISO8859-1"), "UTF-8");
char[] chs = new char[]{'a','b','c','d','e'};
String s5 = new String(chs); //創建String對象,把數組元素作為字元串的內容
String s6 = new String(chs, 0, 3);//創建String對象,把一部分數組元素作為字元串的內容,參數offset為數組元素的起始索引位置,參數count為要幾個元素
System.out.println(s5);//abcd
System.out.println(s6);//abc
獲取字元串的長度
String str = "abcde";
int len = str.length();
System.out.println(len);//5
截取字元串
String str = "abcde"; String s1 = str.substring(1); //返回一個新 字元串,為指定索引後的內容 String s2 = str.substring(2, 4);//返回一個 新字元串,內容為指定位置開始到指定位置結束所有字 符[2,4)是否以字元開頭和結尾
System.out.println(s1);//bcde System.out.println(s2);//cd
String str = "baidu";
boolean b2 = str.startsWith("bai");
boolean b3 = str.endsWith("du");
索引和包含
String str = "abcde"; //返回指定字元串的索引值,不包含則返回-1
int index = str.indexOf(“bcd”); //判斷是否包含指定字元串,包含返回true,不包含返 回false
boolean b2 = str.contains("bcd");
分割字元串
String s5 = "1-2-3-4-5"; //{"1","2","3","4","5"}
System.out.println(s5.split("-").length);
String s6 = "www.zhiyou.com"; //{"www","zhiyou","com"} //註意使用.進行分割時候需要使用轉義字元,使用\\.
System.out.println(s6.split("\\.").lengt h);
轉換大小寫字元串
String str = "hElLo";
String big = str.toUpperCase();//HELLO
String small = str.toLowerCase();//hello
將字元串指定索引轉換成char
char ch = str.charAt(i);
string類的API
boolean equals(Object obj) 判斷兩個字元串中 的內容是否相同
boolean equalsIgnoreCase(String str) 判 斷兩個字元串中的內容是否相同, 忽略大小寫
boolean contains(String str) 判斷該字元串中 是否包含給定的字元串
boolean startsWith(String str) 判斷該字元串 是否以給定的字元串開頭
boolean endsWith(String str) 判斷該字元串 是否以給定的字元串結尾
boolean isEmpty() 判斷該字元串的內容是否為空 的字元串 ""
int length() 獲取該字元串的長度
char charAt(int index) 獲取該字元串中指定位 置上的字元
String substring(int start) 從指定位 置開始,到末尾結束,截取該字元串,返回新字元串
String substring(int start,int end) 從指定 位置開始,到指定位置結束,截取該字元串,返回新字 符串int indexOf(int ch ) 獲取給定的字元,在該字元 串中第一次出現的位置
int indexOf(String str) 獲取給定的字元串,在 該字元串中第一次出現的位置
int indexOf(int ch,int fromIndex) 從指定位 置開始,獲取給定的字元,在該字元
byte[] getBytes() 把該字元串 轉換成 位元組數組
char[] toCharArray() 把該字元串 轉換成 字元 數組
String replace(char old,char new) 在該字元 串中,將給定的舊字元,用新字元替換
String replace(String old,String new) 在 該字元串中, 將給定的舊字元串,用新字元串替換
String trim() 去除字元串兩端空格,中間的不會去 除,返回一個新字元串
String toLowerCase() 把該字元串轉換成 小寫字 符串
String toUpperCase() 把該字元串轉換成 大寫字 符串
int indexOf(String str,int fromIndex) 從 指定位置開始,獲取給定的字元串,在該字元串中第一 次出現的位置
StringBuffer類
StringBuffer叫做字元串緩衝區,是一個容器,裡面存放了很多字元串
添加,插入,刪除,替換
StringBuffer sb = new StringBuffer(); sb.append("haha"); //添加字元串 sb.insert(2, "huhu");//索引為2的地方,插入字 符串 sb.delete(1, 4);//刪除索引為[1,4) sb.replace(1, 4, "heihei");//替換範 圍[1,4)的內容
StringBuilder類
此類提供一個與 StringBuffer 相容的 API,但是屬於
線程不安全的,所以效率較高,推薦使用
List介面
可以看作是一個容器存儲,只能存儲引用類型,特點是:有序,帶索引,內容可以重覆
ArrayList
ArrayList是List介面的一個實現類
是一個容器,容器存放的是引用類型,他能夠實現動態擴容,內部實現是依靠數組實現的,初始化容量是10,當要超出容量的時候,擴容變成原來的1.5倍
創建的格式一般使用多態的形式 List<String> li= new ArrayList<String>();
添加,插入,刪除,替換,查詢
List<String> list = new ArrayList<String>();
//添加 list.add("李雷"); list.add("韓梅梅");
//插入 插入前["李雷","韓梅梅"] list.add(1, "隔壁老王"); //插入元素後的集合["李雷","隔壁老王","韓梅梅"]
//刪除 list.remove(2);// 刪除元素後的集合["李雷","隔壁老王"]
//修改 list.set(1, "隔壁老張");// 修改元素後的集合["李雷","隔壁老張","韓梅梅"]
//通過索引獲取 String str = list.get(0);//獲取李雷
遍歷(和數組相同) for(int i = 0; i < li.size(); i++){ System.out.println(li.get(i)); } for(String str : li){ System.out.println(str); }
Map介面
Map是集合容器,存放的元素由鍵與值兩部分組成,通過鍵可以找對所對應的值,鍵和值必須是引用類型,鍵唯一不能重覆,沒有順序
HashMap
HashMap是Map的一個實現類map的添加,刪除,查詢//創建Map對象 Map<String, String> map = new HashMa p<String,String>();//給map中添加元素 map.put("1", "Monday"); map.put("7", "Sunday"); System.out.println(map); //當給Map中添加元素,會返回key對應的原來的value值,若key沒有對應的值,返回null System.out.println(map.put("1", "Mon")); // Monday System.out.println(map); // {星期日=Sunday, 星期一=Mon}//根據指定的key獲取對應的value String en = map.get("1"); System.out.println(en); // Sunday//根據key刪除元素,會返回key對應的value值 String value = map.remove("1"); System.out.println(value); // Sunday System.out.println(map); // {1=Mon}
map的遍歷
Map<String, String> map = new HashMa p<String,String>();//給map中添加元素 map.put("鄧超", "孫儷"); map.put("李晨", "範冰冰"); map.put("劉德華", "柳岩");//獲取Map中的所有key Set<String> keySet = map.keySet(); for(String key : keySet){ System.out.println(map.get(key)) }