常用类
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))
}
来源:oschina
链接:https://my.oschina.net/u/4288902/blog/4330775