当前位置:网站首页>力扣刷题日记/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;
}
}
边栏推荐
- Device interface analysis of the adapter of I2C subsystem (I2C dev.c file analysis)
- With an estimated value of 90billion, the IPO of super chip is coming
- 90后开始攒钱植发,又一个IPO来了
- 被忽视的问题:测试环境配置管理
- [system analyst's road] Chapter 7 double disk system design (structured development method)
- mysql5.7安装教程图文详解
- People in the workplace with a miserable expression
- 俄罗斯 Arenadata 发布基于PostgreSQL的产品
- Imitation of numpy 2
- 力扣刷题日记/day8/7.1
猜你喜欢
2022年全国CMMI认证补贴政策|昌旭咨询
12 - explore the underlying principles of IOS | runtime [isa details, class structure, method cache | t]
Self reflection of a small VC after two years of entrepreneurship
Reptile elementary learning
同事悄悄告诉我,飞书通知还能这样玩
Is it science or metaphysics to rename a listed company?
Superscalar processor design yaoyongbin Chapter 7 register rename excerpt
Just today, four experts from HSBC gathered to discuss the problems of bank core system transformation, migration and reconstruction
华为云ModelArts的使用教程(附详细图解)
uni-app与uviewUI实现仿小米商城app(附源码)
随机推荐
能源行业的数字化“新”运维
Grain Mall (I)
Superscalar processor design yaoyongbin Chapter 7 register rename excerpt
RecastNavigation 之 Recast
比李嘉诚还有钱的币圈大佬,刚在沙特买了楼
DB engines database ranking in July 2022: Microsoft SQL Server rose sharply, Oracle fell sharply
TCP waves twice, have you seen it? What about four handshakes?
Recast of recastnavigation
Unity makes revolving door, sliding door, cabinet door drawer, click the effect of automatic door opening and closing, and automatically play the sound effect (with editor extension code)
MVC mode and three-tier architecture
Reptile elementary learning
【Hot100】31. 下一个排列
Mathematical analysis_ Notes_ Chapter 7: differential calculus of multivariate functions
明星开店,退,退,退
regular expression
怎么开户才是安全的,
ARTS_ twenty million two hundred and twenty thousand six hundred and twenty-eight
力扣刷题日记/day5/2022.6.27
力扣刷题日记/day6/6.28
S5PV210芯片I2C适配器驱动分析(i2c-s3c2410.c)