學習Java的Day06

 

經常使用類

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類的構造方法java

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)) }
相關文章
相關標籤/搜索