java集合中list的添加(详细)

java集合中list的添加

  • List可以精确的控制每个元素的插入位置,多删除某个位置的元素
  • ArrayList底层是由数组实现
1:创建课程类
package collection;
/**
 * @20190812
 * @author 王炳祥
 * 课程类
 *
 */

public class Course {
	public String id;
	public String name;
	//方便演示改为public 实际开发中应该私有 用get/set方法访问
//	//修改id
//	public String getId() {
//		return id;
//	}
//	//获取id
//	public void setId(String id) {
//		this.id = id;
//	}
//	//修改名称
//	public String getName() {
//		return name;
//	}
//	//获取名称
//	public void setName(String name) {
//		this.name = name;
//	}
	//构造器
	public Course(String id,String name) {
		this.id=id;
		
		this.name=name;
		
	}

}

2:创建学生类

package collection;
import java.util.HashSet;
//引入set包
import java.util.Set;

/**
 * 20190812
 * @author 王炳祥
 *学生类
 *
 */

public class Student {
	public String id;
	public String name;
	
	public Set courses;
	
	//含参构造器
		public Student(String id,String name) {
			this.id=id;
			
			this.name=name;
			
			this.courses=new HashSet();
			
		}

}

3:备选课程类

package collection;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

/**
 * 20190812
 * @author 王炳祥
 *备选课程类
 */

public class ListTest {
	/**
	 * 用于存放备选课程的list
	 */
	public List bxkc;
	
	public ListTest() {
		
		this.bxkc = new ArrayList();
	}
	
	/*
	 * 用于往bxkc中添加备选课程
	 */
	public void testAdd() {
		
		//创建课程类的实例 调用其构造器
		Course co1 = new Course("1","数据结构");
		//调用bxkc的add方法  进行添加
		/**
		*第一种add方法
		*/
		bxkc.add(co1);
		//检查是否添加
		Course temp = (Course) bxkc.get(0);
		System.out.println("添加了课程"+temp.id+":"+temp.name);
		
		/**
		 *  第二种add方法
		 */
		Course co2 = new Course("2","c语言");
		bxkc.add(0, co2);
		//检查是否添加
		Course temp2 = (Course) bxkc.get(0);
		System.out.println("添加了课程"+temp2.id+":"+temp2.name);
		
//		Course co3 = new Course("2","c语言");
//		//报错 报错 报错 数组下标越界
//		bxkc.add(5, co3);
//		Course temp3 = (Course) bxkc.get(0);
//		System.out.println("添加了课程"+temp3.id+":"+temp3.name);
		
		/*
		 * 另外两种添加方法addall
		 */
		 
		//创建一个课程数组
		Course[] cou = {new Course("3","离散数学"),new Course("4","python")};
		//将刚创建的数组转变为List(欢迎各位大神补充)
		bxkc.addAll(Arrays.asList(cou));
		Course temp3 = (Course) bxkc.get(2);
		Course temp4 = (Course) bxkc.get(3);
		System.out.println("添加了两门课程"+temp3.id+":"+temp3.name+";"+temp4.id+":"+temp4.name);
		
		/**
		 * 插入指定位置的addall
		 */
		Course[] cou2 = {new Course("5","高等数学"),new Course("4","php")};
		bxkc.addAll(2, Arrays.asList(cou2));
		Course temp5 = (Course) bxkc.get(2);
		Course temp6 = (Course) bxkc.get(3);
		System.out.println("添加了两门课程"+temp5.id+":"+temp5.name+";"+temp6.id+":"+temp6.name);
	
	}
	public static void main(String[] args) {
		ListTest li = new ListTest();
		li.testAdd();
	}

}

运行结果如下:
在这里插入图片描述

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值