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 ...
随机推荐
- RISC-V与DSA计算机架构
RISC-V与DSA计算机架构 相信所有和计算机体系结构打过交道的朋友们都看过David Patterson与John Hennessy的煌煌巨作,<计算机体系架构:量化研究方法>.两位在 ...
- NVIDIA GPU上的随机数生成
NVIDIA GPU上的随机数生成 NVIDIA CUDA随机数生成库(cuRAND)提供高性能的GPU加速的随机数生成(RNG).cuRAND库使用NVIDIA GPU中提供的数百个处理器内核,将质 ...
- 自动机器学习(AutoML)
自动机器学习(AutoML) 不再需要苦恼于学习各种机器学习的算法 目录: 一.为什么需要自动机器学习 二.超参数优化 Hyper-parameter Optimization 三.元学习 Meta ...
- TensorRT深度学习训练和部署图示
TensorRT深度学习训练和部署 NVIDIA TensorRT是用于生产环境的高性能深度学习推理库.功率效率和响应速度是部署的深度学习应用程序的两个关键指标,因为它们直接影响用户体验和所提供服务的 ...
- Java IO学习笔记一:为什么带Buffer的比不带Buffer的快
作者:Grey 原文地址:Java IO学习笔记一:为什么带Buffer的比不带Buffer的快 Java中为什么BufferedReader,BufferedWriter要比FileReader 和 ...
- 开发掉坑(一)tar命令解压文件覆盖源文件
今天在编译机上编译前端代码,报了找不到依赖的异常.检查后发现是node_modules/.bin下少了一些文件. 一开始疑惑为什么本地能成功生成软链在node_modules/.bin,服务器上面却不 ...
- 【VBA】判断文件是否存在
效果: 源码: Sub 判断文件是否存在() Dim strcfg As String strcfg = "D:\a.cfg" If Dir(strcfg, vbDirectory ...
- 5.22考试总结(NOIP模拟1)
5.22考试总结(NOIP模拟1) 改题记录 T1 序列 题解 暴力思路很好想,分数也很好想\(QAQ\) (反正我只拿了5pts) 正解的话: 先用欧拉筛把1-n的素数筛出来 void get_Pr ...
- dos脚本语法学习
一个dos批处理脚本,通过关键字搜索注册表并删除,坑很多,语法也很怪异,详情看注释 @echo off ::声明采用UTF-8编码,避免中文乱码问题,>NUL可以吞掉chcp输出的内容 chcp ...
- theUnforgiven-冲刺第一天
每天的冲刺博客分为scrum和PM报告两部分 吴邦天 负责项目整体构思以及对任务安排,承担项目具体设计,编码: 唐嘉诚 负责项目前端页面设计,承担整个项目的后端数据库搭建以及编码 周游 项目美化以及细 ...
