【牛客刷题】每日一练—ArrayList的实例强化

简介: 【牛客刷题】每日一练—ArrayList的实例强化

✨hello,进来的小伙伴们,你们好呐!✨

🍢🍢系列专栏:【牛客刷题】

🌯🌯作者简介:一名大三在读的科班Java编程小白,星夜漫长,你我同行!

🍼🍼给大家推荐一个超级好用的刷题网站——牛客网!

阅读本篇博客之前,大家最好去看一下我的上篇博客,或者你已经掌握了ArrayList的相关知识,那也是没有问题的!

实例1:

问题描述:使用集合来实现一个学生类,这个学生类包括学生的姓名,年龄,成绩,最后输出他们的相关信息。

问题分析:本题非常的简单哈,但是要求我们用集合相关的知识来实现,我们可以先定义一个学生类,然后在里面包括我们的成员变量姓名 成绩等,最后通过集合的遍历方式输出我们的结果。

代码实现:

   import java.util.ArrayList;

   

   class Student {

       public String name;

       public int age;

       public int sco;

   

       public Student(String name, int age, int sco) {

           this.name = name;

           this.age = age;

           this.sco = sco;

       }

   

       @Override

       public String toString() {

           return "Student{" +

                   "name='" + name + '\'' +

                   ", age=" + age +

                   ", sco=" + sco +

                   '}';

       }

   }

   public class demo1 {

       public static void main(String[] args) {

           ArrayList<Student> stu = new ArrayList<Student>(3);

           stu.add(new Student("小明",18,88));

           stu.add(new Student("小红",19,89));

           stu.add(new Student("小白",20,78));

           for (Student stu1:stu) {

               System.out.println(stu1);

           }

       }

   }

运行结果:

cd6bd321ee9d4abea7d2f9e31d0cb64f.png

实例2:

问题描述:给你一个字符串比如"Study Du LingChenQi",如何删除 LingChenQi,最后输出Study Du。

问题分析:这题的思路也不是很难,唯一卡的地方就是我们如何去比较这个字符,看代码的处理结果。

代码演示:

   import java.util.ArrayList;

   

   public class demo4 {

       public static void main(String[] args) {

           String str1 = "Study Du LingChenQi";

           String str2 = "LingChenQi";

           ArrayList<Character> s1 = new ArrayList<>();

           for (int i = 0; i < str1.length(); i++) {

               char ch = str1.charAt(i);

               if(!str2.contains(ch+"")){//因为contains传的是字符 加个""就可以

                   s1.add(ch);

               }

           }

           System.out.println(s1);

       }

   }

这里要提一下的就是

if(!str2.contains(ch+"")){

               s1.add(ch);

           }

这段代码,我们知道可以使用顺序表的contains()方法来判断,但是contains传的是字符,我们最后要强转一下加个" ",便可,这题是一个公司的面试题,非常细节!

运行结果:

efd65bdab47141afa37bda9255db2335.png

相关文章
|
4月前
|
搜索推荐
蓝桥杯-基础练习 数列排序
蓝桥杯-基础练习 数列排序
55 0
|
11月前
|
算法 Java 测试技术
【备战蓝桥杯 | 软件Java大学B组】十三届真题深刨详解(2)
【备战蓝桥杯 | 软件Java大学B组】十三届真题深刨详解(2)
52 0
|
1月前
|
数据安全/隐私保护
【C基础刷题】第九讲
【C基础刷题】第九讲
|
4月前
|
测试技术
蓝桥杯(基础题)
蓝桥杯(基础题)
33 1
|
11月前
|
存储 人工智能 Java
【备战蓝桥杯 | 软件Java大学B组】十三届真题深刨详解(1)
【备战蓝桥杯 | 软件Java大学B组】十三届真题深刨详解(1)
459 0
|
存储 人工智能 Java
第十四届蓝桥杯模拟赛(第三期)Java组个人题解
第十四届蓝桥杯模拟赛(第三期)Java组个人题解
467 0
|
机器学习/深度学习 人工智能 JSON
CSDN 算法技能树 蓝桥杯-基础 刷题+思考总结
一根高筋拉面,中间切一刀,可以得到2根面条。 如果先对折1次,中间切一刀,可以得到3根面条。 如果连续对折2次,中间切一刀,可以得到5根面条。 那么,连续对折10次,中间切一刀,会得到多少面条呢?
98 0
|
前端开发 JavaScript 数据库
刷题,巩固基础的好方法
刷题,巩固基础的好方法
84 0
刷题,巩固基础的好方法
|
算法
代码随想录算法训练营第四天 | 链表 + 每日一题
代码随想录算法训练营第四天 | 链表 + 每日一题
104 0
|
Java C++ Python
蓝桥杯官网 试题 PREV-278 历届真题 双向排序【第十二届】【省赛】【研究生组】【C++】【C】【Java】【Python】四种解法
蓝桥杯官网 试题 PREV-278 历届真题 双向排序【第十二届】【省赛】【研究生组】【C++】【C】【Java】【Python】四种解法
275 0
蓝桥杯官网 试题 PREV-278 历届真题 双向排序【第十二届】【省赛】【研究生组】【C++】【C】【Java】【Python】四种解法