首页 > 编程语言 >Java中的集合基础

Java中的集合基础

时间:2022-09-30 17:47:14浏览次数:49  
标签:Java name ArrayList 基础 System age 集合 array public

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);
    }

}

标签:Java,name,ArrayList,基础,System,age,集合,array,public
From: https://www.cnblogs.com/fragmentary/p/16745656.html

相关文章

  • 字典、元祖、集合相关方法
    字典内置方法1.类型转换可以使用dict()方法,但是不建议使用,而是用其他方式转换。print(dict((('name','pwd'),('tifa','123'))))#{'name':'pwd','tifa':'123'}#......
  • Java中的字符串
    Java中的字符串一、APl(注:Java的默认包是java.lang使用时不需要导包)1、APl概述:APl(ApplicationProgrammingInterface):应用程序编程接口JavaAPl:指的就是J......
  • 小白初学java
    #Markdown#标题###三级标题####四级标题 ##字体**Hello,World!***Hello,World!****Hello,World!***~~Hello,World!~~Hello,World! ##引用>小白java......
  • 数据类型内置方法下 字典、元组、集合、字符编码理论
    +数据类型内置方法下字典、元组、集合、字符编码理论目录§一、字典的内置方法1、字典的类型转换dict()2、字典相关操作1.按key取值(不推荐使用)2.按内置方法get取值(推荐使......
  • 9月30日内容总结——数据类型内置方法剩余部分(字典、元组、集合)、字符编码的概念及使
    目录一、字典的内置方法1、类型转换(把其他类型转换成自己的类型)2、取值3、修改数据值4、增加数据值5、删除数据值1.del方法2.pop方法6、统计字典中键值对的个数7、字典三......
  • 字典,元组,集合的内置方法
    今日内容字典的相关操作内置方法1.类型转换 关键字dict() 字典使用转换太麻烦了,所以一般不推荐使用,建议手动转2.字典必须掌握的操作#这是按k取值不推荐 u......
  • net List集合 只改变对象中的某一个属性
    classStudent{publicstringId{get;set;}publicstringName{get;set;}}List<Student>list=newList<Student>()list.add(newStudent{Id=1,Name="名......
  • Python基础8
    今日内容概要字典相关操作元祖相关操作集合相关操作字符编码(理论)今日内容详细字典相关操作类型转换#格式dict(其他数据类型)字典的转换一般不使用......
  • Java: 压缩PDF文档
    PDF文档在日常工作中应用广泛,经常用于保存公司文件,电子图书或网络资料等大篇幅内容。然而,内容过多往往也会导致PDF文件过大,不便于其保存和发送。在这种情况下,我们可以选择使......
  • 字典,元组,集合与字符编码
    字典,元组,集合内置方法字典内置法类型转换语法:dict()一般情况下不用dict转字典,主要是自己动手转字典。基本上不用print(dict(11))#整型报错print(dict(11.11)......