Java基础00-集合基础15
1. 集合基础
1.1 集合概述
1.2 ArrayList构造方法和添加方法
代码示例:
想通过指定索引添加到最后一个位置的话就填写,现有索引的+1,比如3个索引就是4.
如果在指定索引的位置添加没有的索引,就会报错(索引越界)。
运行结果:
1.3 ArrayList集合的常用方法
remove(Object o),删除指定的元素,返回删除是否成功。
如果是指定没有的元素,就是返回的false
remove(int index),删除指定索引|处的元素,返回被删除的元素。
运行结果:
指定删除未有的索引会报错(索引越界)
set(int index,E element)修改指定索引处的元素,返回被修改的元素。
运行结果:
指定修改未有的索引会报错(索引越界)
get(int index)返回指定索引处的元素。
运行结果:
int size()返回集合中的元素的个数。
运行结果:
1.4 案例
1.4.1 存储字符串并遍历
import java.util.ArrayList; public class ArrayList1 {
public static void main(String[] args) {
ArrayList<String> array= new ArrayList<>(); array.add("hellow");
array.add("world");
array.add("java"); for (int i=0; i<array.size(); i++){
String s = array.get(i);
System.out.println(s);
}
}
}
运行结果:
hellow
world
java
1.4.2 存储学生对象并遍历
public class Student {
private String name;
private int age; public Student(){} public Student(String name,int age){
this.name = name;
this.age = age;
} public void setName(String name){
this.name = name;
} public String getName(){
return name;
} public void setAge(int age){
this.age = age;
} public int getAge(){
return age;
}
}
import java.util.ArrayList; public class ArrayList2 {
public static void main(String[] args) {
//创建集合对象
ArrayList<Student> array = new ArrayList<Student>(); //创建学生对象
Student s1 = new Student("tom",3);
Student s2 = new Student("Bob",4);
Student s3 = new Student("Amy",6); //添加学生对象到集合中
array.add(s1);
array.add(s2);
array.add(s3); //遍历集合,采用通用遍历格式实现
for (int i=0; i<array.size(); i++){
Student s = array.get(i);
System.out.println(s.getName()+","+s.getAge());
} }
}
运行结果:
tom,3
Bob,4
Amy,6
1.4.3 存储学生对象并遍历
import java.util.ArrayList;
import java.util.Scanner; public class ArrayList4 {
public static void main(String[] args) {
ArrayList<Student1> array = new ArrayList<>(); //为增加代码复用性,采用方法来实现
addStudent1(array);
addStudent1(array);
addStudent1(array); for (int i=0; i<array.size(); i++){
Student1 s = array.get(i);
System.out.println(s.getName()+", "+s.getAge());
} } /*
明确:
返回值类型:void
参数:ArrayList<Student1> array
*/
public static void addStudent1(ArrayList<Student1> array){
Scanner sc = new Scanner(System.in); System.out.println("请输入学生名:");
String name = sc.nextLine(); System.out.println("请输入学生年龄:");
String age = sc.nextLine(); //创建学生对象
Student1 s = new Student1();
s.setName(name);
s.setAge(age); //在集合中添加学生对象
array.add(s); }
}
运行结果:
请输入学生名:
Tom
请输入学生年龄:
7
请输入学生名:
Bob
请输入学生年龄:
9
请输入学生名:
Amy
请输入学生年龄:
3
Tom, 7
Bob, 9
Amy, 3
Java基础00-集合基础15的更多相关文章
- [Java 教程 00] 计算机基础
前言 我想,来到这的朋友肯定是想学习JAVA或者想要进入IT这个行业的.考虑到大家的基础可能不一样,有些人可能还是用着新买的电脑,为了让大家在后续的学习中更加顺畅.在学习一门全新的计算机语言之前,我需 ...
- Java Hour 13 集合基础
有句名言,叫做10000小时成为某一个领域的专家.姑且不辩论这句话是否正确,让我们到达10000小时的时候再回头来看吧. 本文作者Java 现经验约为13 Hour,请各位不吝赐教. Java 中的集 ...
- java基础-Map集合
java基础-Map集合 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Map集合概述 我们通过查看Map接口描述,发现Map接口下的集合与Collection接口下的集合,它 ...
- 第6节:Java基础 - 三大集合(上)
第6节:Java基础 - 三大集合(上) 本小节是Java基础篇章的第四小节,主要介绍Java中的常用集合知识点,涉及到的内容包括Java中的三大集合的引出,以及HashMap,Hashtable和C ...
- Java基础--说集合框架
版权所有,转载注明出处. 1,Java中,集合是什么?为什么会出现? 根据数学的定义,集合是一个元素或多个元素的构成,即集合一个装有元素的容器. Java中已经有数组这一装有元素的容器,为什么还要新建 ...
- Java基础之 集合体系结构(Collection、List、ArrayList、LinkedList、Vector)
Java基础之 集合体系结构详细笔记(Collection.List.ArrayList.LinkedList.Vector) 集合是JavaSE的重要组成部分,其与数据结构的知识密切相联,集合体系就 ...
- Java Properties集合基础解析
Java Properties集合基础解析 本期学习的properties集合是项目中经常用到的操作 什么是Properties集合? java.util.Properties集合继承于Hashtab ...
- 备战金三银四!一线互联网公司java岗面试题整理:Java基础+多线程+集合+JVM合集!
前言 回首来看2020年,真的是印象中过的最快的一年了,真的是时间过的飞快,还没反应过来年就夸完了,相信大家也已经开始上班了!俗话说新年新气象,马上就要到了一年之中最重要的金三银四,之前一直有粉丝要求 ...
- java基础技术集合面试【笔记】
java基础技术集合面试[笔记] Hashmap: 基于哈希表的 Map 接口的实现,此实现提供所有可选的映射操作,并允许使用 null 值和 null 键(除了不同步和允许使用 null 之外,Ha ...
随机推荐
- 使用kubeadm部署一套高可用k8s集群
使用kubeadm部署一套高可用k8s集群 有疑问的地方可以看官方文档 准备环境 我的机器如下, 系统为ubuntu20.04, kubernetes版本1.21.0 hostname IP 硬件配置 ...
- FPGA最全科普总结
FPGA最全科普总结 FPGA 是可以先购买再设计的"万能"芯片.FPGA (Field Programmable Gate Array)现场可编程门阵列,是在硅片上预先设计实 ...
- IoU、GIoU、DIoU、CIoU损失函数
IoU.GIoU.DIoU.CIoU损失函数 目标检测任务的损失函数由Classificition Loss和Bounding Box Regeression Loss两部分构成.目标检测任务中近几年 ...
- 自动调试用于移动GPU的卷积网络
自动调试用于移动GPU的卷积网络 对特定设备进行自动调试对于获得最佳性能至关重要.这是有关如何调试整个卷积网络的说明文档. TVM中Mobile GPU的算子实现以模板形式编写.模板具有许多可调旋钮( ...
- 笔记-13-多线程 Thread方法 线程安全 生产者和消费者 死锁和阻塞 练习
题目1 编写程序,创建两个线程对象,一根线程循环输出"播放背景音乐",另一根线程循环输出"显示画面";要求: 1: 1个线程使用Runnable接口的匿名内部类 ...
- 【NX二次开发】获取片体的边UF_MODL_ask_body_boundaries()
获取片体的边UF_MODL_ask_body_boundaries(),如果输入实体,则获取的片体的边的数量为0. 源码: #include "Text.h" extern Dll ...
- Go语言Slice作为函数参数详解
Go语言Slice作为函数参数详解 前言 首先要明确Go语言中实质只有值传递,引用传递和指针传递是相对于参数类型来说. 个人认为上诉的结论不对,把引用类型看做对指针的封装,一般封装为结构体,结构体是值 ...
- hdu5438 拓扑排序+DFS
解析 对一个有向无环图(Directed Acyclic Graph,简称DAG)G进行拓扑排序,是将G中所有顶点排成一个线性序列,使得图中任意一对顶点u和v,若<u,v> ∈E(G),则 ...
- Vue实现点击复制文本内容(原生JS实现)
需求: 实现点击订单编号复制内容 实现步骤: 这里我是在element 的table组件里实现的步骤,仅供参考,实际上实现思路都大同小异 首先在需要点击的地方,添加点击事件 <div class ...
- Salesforce LWC学习(三十五) 使用 REST API实现不写Apex的批量创建/更新数据
本篇参考: https://developer.salesforce.com/docs/atlas.en-us.224.0.api_rest.meta/api_rest/resources_compo ...