文档章节

学习Java的Day06

o
 osc_zitca8hu
发布于 07/01 07:15
字数 1635
阅读 24
收藏 0

精选30+云产品,助力企业轻松上云!>>>

 

常用类

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)) }

  

 

o
粉丝 0
博文 48
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。

暂无文章

DateTime2与SQL Server中的DateTime - DateTime2 vs DateTime in SQL Server

问题: Which one: 哪一个: datetime datetime2 is the recommended way to store date and time in SQL Server 2008+? 是在SQL Server 2008+中存储日期和时间的推荐方法吗? I'm aware of......

富含淀粉
15分钟前
6
0
Linux 文件打开过多 (Too many open files)

如图是程序运行了一段时间后抛出来的一个bug, 刚开始看这个bug的时候各种网上找答案, 无外乎教你怎么改ulimit(就是linux最大打开文件数), 当然不是说改这个没有用, 作为程序开发者来说, 如果...

onedotdot
16分钟前
20
0
ZStack实践汇|ZStack与行云管家对接实践ZStack与行云管家对接实践

一、ZStack与行云管家概述 大道至简·极速部署,ZStack致力于产品化私有云和混合云。 ZStack是一家坚持自主创新、专注产品化的云计算公司,以“降低企业上云门槛、让每一家企业都拥有自己的云...

ZStack社区版
21分钟前
7
0
switch linux mint 20 apt repository to tsinghua' mirrors

edit file /etc/apt/sources.list.d/cat official-package-repositories.list lwk@qwfys:/etc/apt/sources.list.d$ lltotal 12drwxr-xr-x 2 root root 4096 Jul 5 20:01 ./drwxr-xr-x 7 ......

qwfys
41分钟前
7
0
面试系列之C++的对象布局【建议收藏】

我们都知道C++多态是通过虚函数表来实现的,那具体是什么样的大家清楚吗?开篇依旧提出来几个问题: 普通类对象是什么布局? 带虚函数的类对象是什么布局? 单继承下不含有覆盖函数的类对象是...

伊牙牙嘿哈哈
今天
17
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部