当前位置:网站首页>力扣刷题日记/day2/2022.6.24
力扣刷题日记/day2/2022.6.24
2022-07-04 16:33:00 【bobo洁厕灵】
新手村
今天还是学习数组的有关概念,字符(String)串数组,创建方式和一般的数组类似,只是类型的不同需要注意
一.List作为一个接口,接口不能被实例化
List list=new List();
//会导致编译出错,这是因为List是一个接口,接口不能被实例化。
ArrayList list=new ArrayList();
//这种实例化方式就是正确的。这是因为ArrayList是一个类,继承并实现了List接口。
如何实现一个接口(以List接口为例)
通过继承自本接口的实现类的对象实例化List对象,如
List list=new ArrayList();
这种实例化的方式:创建了一个ArrayList实现类的对象后把它上溯到了List接口,此时它是一个List对象了,有些ArrayList有但是List没有的属性和方法,它就不能再用了。
ArrayList list=new ArrayList();
上述方法创建一对象则保留了ArrayList的所有属性和方法。
两种创建方法的比较
大部分情况下,我们使用的是创建一个ArrayList实现类的对象然后上升到List接口,因为这种方法创建的对象更为方便,List接口有多个实现类,现在用的是ArrayList,如果要将其更换成其它的实现类,如 LinkedList或者Vector等等,这时只需要改变这一行就行了: List list = new LinkedList(); 其它使用了list地方的代码根本不需要改动。 在编写代码时,较为方便。
但是只能调用List接口中的方法,不能调用ArrayList中的方法。
List list=new ArrayList();
二.JAVA String.valueOf()方法的用法说明
由基本数据型态转换成String
int i = 10;
String str = String.valueOf(i);
此时的str就会是“10”
String.valueOf(int i)和Integer.toString(int i)有什么区别?
String.valueOf()它可以将JAVA基本类型(int,double,boolean等)和对象(Object)转换成String型
toString()是对象的方法,它可以将该对象转换成String型,转换算法根据类型实际需要而定 ,基本上JAVA里面每个对象都会有一个toString方法。
两者的运行结果都是相同的,只是原理不一样
String.valueOf()可以应用到任何数据类型,且不会有异常报出。
Integer.toString()表示先讲int转换成Integer型,然后再将Integer转换成String型。
补充toString方法
//toString(): 返回表示 Integer 值的 String 对象。
//toString(int i): 返回表示指定 int 的 String 对象
一般String.valueOf()使用的居多,应用的数据类型无限制,且不会报空指针异常
三.创建一个字符串数组的两种方法
//创建一个字符串数组,这种方法比较灵活
ArrayList<String> answer = new ArrayList<String>();
//添加字符串
answer.add("BUFF");
//java中size()方法是对于泛型集合来说的,如果想知道泛型有多少元素,就调用此方法来查看。
answer.size();
//百度上看到的,很刻板的一种写法
String [] answer = new String [20];
//添加数组
answer[0] = "str1";
//java中length()是对于String来说的,如果想看字符串的长度,则用length()方法;
answer.length()
四.例题
解题思路:先创建一个数组对象(list),再通过for遍历向数组中添加字符串,如果符合上述要求,则add,如果都不符合,就把整数转换String.valueOf成字符串添加进数组中
class Solution {
public List<String> fizzBuzz(int n) {
List<String> answer = new ArrayList<String>();
for(int i=1;i<=n;i++){
if(i%3==0&&i%5==0){
answer.add("FizzBuzz");
}
else if(i%3==0){
answer.add("Fizz");
}
else if(i%5==0){
answer.add("Buzz");
}
else{
answer.add(String.valueOf(i));
}
}
return answer;
}
}
边栏推荐
- 同事悄悄告诉我,飞书通知还能这样玩
- android使用SQLiteOpenHelper闪退
- 【Hot100】31. Next spread
- .NET ORM框架HiSql实战-第二章-使用Hisql实现菜单管理(增删改查)
- ISO27001 certification process and 2022 subsidy policy summary
- LD_LIBRARY_PATH 环境变量设置
- Superscalar processor design yaoyongbin Chapter 7 register rename excerpt
- DB engines database ranking in July 2022: Microsoft SQL Server rose sharply, Oracle fell sharply
- Mysql5.7 installation tutorial graphic explanation
- 明星开店,退,退,退
猜你喜欢
Talk about seven ways to realize asynchronous programming
被忽视的问题:测试环境配置管理
With an estimated value of 90billion, the IPO of super chip is coming
一直以为做报表只能用EXCEL和PPT,直到我看到了这套模板(附模板)
爬虫(6) - 网页数据解析(2) | BeautifulSoup4在爬虫中的使用
DB engines database ranking in July 2022: Microsoft SQL Server rose sharply, Oracle fell sharply
Superscalar processor design yaoyongbin Chapter 6 instruction decoding excerpt
Thawte通配符SSL证书提供的类型有哪些
创业两年,一家小VC的自我反思
With the stock price plummeting and the market value shrinking, Naixue launched a virtual stock, which was deeply in dispute
随机推荐
[daily question] 871 Minimum refueling times
Lua EmmyLua 注解详解
【Hot100】32. 最长有效括号
Redis master-slave replication
能源行业的数字化“新”运维
比李嘉诚还有钱的币圈大佬,刚在沙特买了楼
Is it safe to download the mobile version of Anxin securities and open an account online
线上MySQL的自增id用尽怎么办?
Self reflection of a small VC after two years of entrepreneurship
被忽视的问题:测试环境配置管理
爬虫(6) - 网页数据解析(2) | BeautifulSoup4在爬虫中的使用
Weima, which is going to be listed, still can't give Baidu confidence
ISO27001 certification process and 2022 subsidy policy summary
通过事件绑定实现动画效果
Imitation of numpy 2
内核中时间相关的知识介绍
Superscalar processor design yaoyongbin Chapter 5 instruction set excerpt
SIGMOD’22 HiEngine论文解读
使用3DMAX制作一枚手雷
MySQL common add, delete, modify and query operations (crud)