从“追求尽量不出错”,到正视“出错是必然|

如此而已~~~

园龄:3年3个月粉丝:0关注:12

09_Java中的集合基础

Java集合基础

一、集合ArrayList概述:

编程的时候如果存储多个数据,使用长度固定的数组储存格式,不一定满足我们的需求,更适应不了变化的需求,那么,此时该如何选择? (集合)

集合:提供了一种存储空间可变的存储模型,存储的数据容量可以发生改变

集合类有很多,目前我们学习:ArrayList

ArrayList<E>:
可以调整大小的数组实现
<E>:是一种特殊的数据类型,泛型(可以参考C++中的模板)

怎么用?

​ 更改E为我们使用引用数据类型替换即可,如类名

二、ArrayList构造方法和添加方法

方法名 说明
public ArrayList() 创建一个空的集合对象
public boolean add(E e) 指定的元素追加到此集合的末尾(尾插)
public void add(int index, E element) 在此集合中的指定位置插入元素
package com.itheima;
/*
测试ArrayList类的 构造 和 添加 方法
*/
//导包
import java.util.ArrayList;
public class ArrayListDemo01 {
public static void main(String[] args){
//public ArrayList(); 创建一个空的集合对象
ArrayList<String> array = new ArrayList<String>(); //<>中只能是引用类型
//使用public boolean add(E e); 来尾插元素,返回值表示 添加成功或者失败
array.add("hello");
array.add("world");
//使用public void add(int index, E element); 在指定下标位置添加元素
array.add(0, "JavaSE"); //注意:任意下标条件位范围:0~n
//输出集合
System.out.println("array:" + array);
//通过size方法来获取长度
System.out.println(array.size());
}
}

三、ArrayList集合的常用方法

方法名 说明
public boolean remove(Object to) 删除指定的元素,返回删除是否成功
public E remove(int index) 删除指定索引处元素,返回被删除的元素
public E set(int index, E element) 修改指定索引处元素,返回被修改的元素
public E get(int index) 返回指定索引处的元素
public int size() 返回集合中元素个数
package com.itheima01;
/*
测试ArrayList的常用方法:
*/
//导包
import java.util.ArrayList;
public class ArrayListDemo02 {
public static void main(String[] args) {
//创建集合
ArrayList<String> array = new ArrayList<String>();
//添加元素
array.add("hello");
array.add("world");
array.add("Java");
//一、public boolean remove(Object o); 删除指定元素,返回删除是否成功
//System.out.println(array.remove("world"));
//System.out.println(array.remove("javaee"));
//二、public E remove(int index); 删除指定索引处的元素,返回被删除的元素
//System.out.println(array.remove(0));
//报错信息:IndexOutOfBoundsException 索引越界
//System.out.println(array.remove(3));
//三、public E set(int index, E element); 修改指定索引元素,返回被修改的元素
//System.out.println(array.set(1, "hello")); //同样防止索引越界
//四、public E get(int index); 返回指定索引处的元素
//System.out.println(array.get(2)); //同样防止索引越界
//五、public int size(); 返回集合中元素个数
System.out.println(array.size());
//输出集合
System.out.println("array:" + array);
}
}

四、ArrayList集合案例

1、存储字符串并遍历:

package com.itheima02;
/*
实现案例存储字符串并建立
*/
//导包
import java.util.ArrayList;
public class ArrayListTest01 {
public static void main(String[] args){
//创建空的ArrayList对象
ArrayList<String> array = new ArrayList<String>();
//在集合中添加字符串对象
array.add("张三");
array.add("李四");
array.add("王五");
//遍历集合
System.out.print("[");
for(int i = 0; i < array.size(); i++){
if(i != array.size() - 1){
System.out.print(array.get(i));
System.out.print(",");
}
else{
System.out.print(array.get(i));
}
}
System.out.println("]");
}
}

2、存储学生对象并遍历:

package com.itheima02;
/*
创建一个学生类
*/
public class Student {
//成员属性
private String name;
private int age;
//构造方法 注:构造方法无返回值 也不需要写void
public Student(){};
public Student(String name, int age){
this.name = name;
this.age = age;
}
//set/get/show方法
public void setName(String name){
this.name = name;
}
public String getName(){
return this.name;
}
public void setAge(int age){
this.age = age;
}
public int getAge(){
return this.age;
}
public void show(){
System.out.println("name:" + name + "," + "age:" + age);
}
}
package com.itheima02;
/*
实现存储学生对象并遍历
*/
//导包
import java.util.ArrayList;
public class ArrayListTest02 {
public static void main(String[] args) {
//创建集合对象
ArrayList<Student> arr = new ArrayList<Student>();
//添加三个对象
arr.add(new Student("张三", 30));
arr.add(new Student("李四", 28));
arr.add(new Student("王五", 29));
//遍历输出
for(int i = 0; i < arr.size(); i++){
Student stu = arr.get(i);
System.out.println("name:" + stu.getName() + "," + "age:" + stu.getAge());
}
}
}

3、升级版存储学生对象并遍历:

package com.itheima02;
/*
创建一个学生类
*/
public class Student {
//成员属性
private String name;
private int age;
//构造方法 注:构造方法无返回值 也不需要写void
public Student(){};
public Student(String name, int age){
this.name = name;
this.age = age;
}
//set/get/show方法
public void setName(String name){
this.name = name;
}
public String getName(){
return this.name;
}
public void setAge(int age){
this.age = age;
}
public int getAge(){
return this.age;
}
public void show(){
System.out.println("name:" + name + "," + "age:" + age);
}
}
package com.itheima02;
/*
存储学生对象的集合,存储3个学生对象,使用程序实现在控制台遍历该集合
学生的姓名和年龄来自于键盘录入
*/
//导包
import java.util.Scanner;
import java.util.ArrayList;
public class ArrayListTest03 {
public static void main(String[] args){
//创建集合对象
ArrayList<Student> arr = new ArrayList<Student>();
//为了提高代码的复用性,我们用方法来改进程序
//调用方法:
addStudent(arr);
addStudent(arr);
addStudent(arr);
//遍历输出数据
for(int i = 0; i < arr.size(); i++){
System.out.println("姓名:" + arr.get(i).getName() + "," + "年龄:" + arr.get(i).getAge());
}
}
/*
两个明确:
返回值类型:void
参数:ArrayList<Student> array
*/
public static void addStudent(ArrayList<Student> array){
//创建Scanner对象用于接收数据
Scanner sc = new Scanner(System.in);
System.out.println("请输入学生姓名:");
String name = sc.nextLine();
System.out.println("请输入学生序号:");
int age = sc.nextInt();
//创建学生对象
Student s = new Student();
s.setName(name);
s.setAge(age);
//在集合中添加数据
array.add(s);
}
}

本文作者:如此而已~~~

本文链接:https://www.cnblogs.com/fragmentary/p/16745656.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   如此而已~~~  阅读(24)  评论(0编辑  收藏  举报
//雪花飘落效果
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起