学习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)) }
相关文章
相关标签/搜索