Java集合之包装类、List案例

List集合案例 

package collection;

public class Student {
	private String stuNum; // 学号
	private int age; // 年龄
	private String name; // 姓名
	private double score; // 成绩

	@Override
	public String toString() { //描述对象信息
		return "Student [stuNo=" + stuNum + ", age=" + age + ", name=" + name + ", score=" + score + "]";
	}

	//初始化成员变量
	public Student(String stuNum, int age, String name, double score) {
		super();
		this.stuNum = stuNum;
		this.age = age;
		this.name = name;
		this.score = score;
	}

	public String getStuNum() {
		return stuNum;
	}

	public void setStuNum(String stuNum) {
		this.stuNum = stuNum;
	}

	public int getAge() {
		return age;
	}

	public void setAge(int age) {
		this.age = age;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public double getScore() {
		return score;
	}

	public void setScore(double score) {
		this.score = score;
	}

}

package collection;

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class Test {

	public static void main(String[] args) {
		//实例化3个学生对象
		Student stu1 = new Student("001", 18, "张三", 99.8);
		Student stu2 = new Student("002", 19, "李四", 56);
		Student stu3 = new Student("003", 16, "王五", 88.7);
		
		//创建集合容器ArrayList
		List<Student> stus = new ArrayList<Student>();
		stus.add(stu1); //将学生对象保存到集合容器
		stus.add(stu2); //将学生对象保存到集合容器
		stus.add(stu3); //将学生对象保存到集合容器
		
		//删除学生,按照对方的方式
//		stus.remove(stu2);
		//删除学生,按照索引(数组下标)
//		stus.remove(0);
		
		//增强型for循环遍历集合容器,又叫ForEach
//		for(Student s : stus) {
//			System.out.println(s);
//		}
		
		//在集合中查找元素
		System.out.print("请输入要查找的学生名字:");
		String name = new Scanner(System.in).next(); //接收用户键盘输入的字符串
		boolean isOk = false;
		Student stuSelect = null;
		for(int i=0; i<stus.size(); i++) {
			if(name.equals(stus.get(i).getName())) {
				stuSelect = stus.get(i);
				isOk = true;
				break;
			}
		}
		if(isOk == true) {
			System.out.println(stuSelect);
		} else {
			System.out.println("该班级没有这个学生!!!");
		}
	}

}
package collection;

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

import org.junit.Test;

public class JTest {

	//1、创建ArrayList集合对象
	//2、向集合中添加元素
	//3、从集合中获取元素
	@Test
	public void test1() {
		/*String[] cities = {"北京","上海","杭州","深圳"};
		System.out.println(cities[1]);*/
		
		//1、创建ArrayList集合对象
		ArrayList<String> cities = new ArrayList<String>();
		//2、向集合中添加元素
		cities.add("北京");
		cities.add("上海");
		cities.add("杭州");
		cities.add("深圳");
		//3、从集合中获取元素
		System.out.println("第二个城市是:"+cities.get(1));
		for(int i=0;i<cities.size();i++) {
			System.out.println(cities.get(i));
		}
	}
	
	@Test
	public void test2() {
		List<String> stus = new ArrayList<String>();
		stus.add("张三");
		stus.add("李四");
		stus.add("王五");
		//普通for循环遍历集合容器
		//for(int i=0;i<name.size();i++) {
		//System.out.println(stus.get(i));
		//}
		
		//用增强型for循环遍历集合容器
		for(String name : stus) {
			System.out.println(name);
		}
	}
	
	//案例:在一个集合容器中存放五个正数,并计算5个正数相加的和
	@Test
	public void test3() {
		//集合容器中存放的元素必须是引用数据类型
		List<Integer> nums = new ArrayList<Integer>();//int
		nums.add(34);
		nums.add(22);
		nums.add(85);
		nums.add(10);
		nums.add(96);
		nums.add(50);
		nums.add(71);
		
		int sum = 0;
		//普通for循环遍历集合容器,求各个正数相加的和
		//for(int i=0;i<nums.size();i++) {
			//sum += nums.get(i);
		//}
		//System.out.println("和是:"+sum);
		
		//用增强型for循环
		for(int num : nums) {
			sum += num;
		}
		System.out.println("和是:"+sum);
	}
	
	@Test
	public void test4() {
		//创建三个student对象并实例化
		Student stu1 = new Student("10010","张三", 95.6,18);
		Student stu2 = new Student("10011","李四", 88.7,19);
		Student stu3 = new Student("10012","王五", 78.9,17);
		//创建一个ArrayList集合存放学生对象
		List<Student> stus = new ArrayList<Student>();
		stus.add(stu1);//将学生对象保存到集合容器中
		stus.add(stu2);
		stus.add(stu3);
		
		double sum = 0;//求和
		double avg = 0;//求平均数
		
		/*
		 * for(int i=0;i<stus.size();i++) { Student s = stus.get(i); sum +=
		 * s.getScore(); }
		 */
		for(Student s : stus) {
			sum += s.getScore();
			}
		avg = sum/stus.size();
		System.out.println("总和是:"+sum);
		System.out.println("平均分是:"+avg);
	}
	
	@Test
	public void test5() {
		//创建三个student对象并实例化
		Student stu1 = new Student("10010","白起", 95,18);
		Student stu2 = new Student("10011","李泽言", 88.7,19);
		Student stu3 = new Student("10012","许墨", 78.9,17);
		//创建一个ArrayList集合存放学生对象,将三个学生保存到集合容器中
		List<Student> stus = new ArrayList<Student>();
		stus.add(stu1);
		stus.add(stu2);
		stus.add(stu3);
		//stus.remove(stu1);删除集合中指定对象
		//stus.remove(1);删除集合中指定元素,通过索引删除
		//stus.clear();删除集合中所有的元素
		//判断集合中是否包含某个元素
		if(stus.contains(stu2)) {
			System.out.println("集合中包含李泽言");
		}else {
			System.out.println("集合中不包含李泽言");
		}
		
		for(Student stu : stus) {
			System.out.println(stu.toString());
		}
		
	}
	
	@Test
	public void test6() {
		//实例化5个优盘对象
		Usb u1 = new Usb("鸿蒙", 100);
		Usb u2 = new Usb("英特尔", 200);
		Usb u3 = new Usb("酷睿", 98);
		Usb u4 = new Usb("烈焰", 46);
		Usb u5 = new Usb("柔水", 55);
		//创建ArrayList集合
		List<Usb> usb = new ArrayList<Usb>();
		usb.add(u1);
		usb.add(u2);
		usb.add(u3);
		usb.add(u4);
		usb.add(u5);
		System.out.println("******降价前******");
		//for循环遍历集合
		for(Usb us : usb) {
			System.out.println(us.toString());
		}
		
		//降价
		for(int i=0;i<usb.size();i++) {
			double price = usb.get(i).getPrice();//得到未降价的价格
			price = price-2;
			usb.get(i).setPrice(price);;
		}
		System.out.println("******降价后******");
		for(Usb us : usb) {
			System.out.println(us.toString());
		}
		
	}
}

 

包装类

package test;

public class Test1 {

	public static void main(String[] args) {
		//计算两个正数相加的和
		int a = 5;
		String b = "6";
		int sum = a + Integer.parseInt(b);//通过int的包装类Integer的parsInt将字符串转换成整型
		System.out.println(sum);

		String c = "6.8";
		double c1 = Double.parseDouble(c);//通过double的包装类Double的parsDouble将字符串转换成整型
		System.out.println(c1+4.3);
		
		String d = "true";
		boolean e = Boolean.parseBoolean(d);//通过boolean的包装类Boolean的parseBoolean方法将字符串转换成布尔类型
		if(e) {//if(e == true)
			System.out.println("哈哈哈哈");
			
			int x = 8;//创建一个基本数据类型的变量,存储的内容是一个正数
			Integer g = 8;//创建了一个引用数据类型的变量,储存的内容是一个正数
			System.out.println(g.intValue());//获得包装类对象内存储的内容
			
			Double i = 8.8;
			System.out.println(i.doubleValue());//获得包装类对象内存储的内容
			
		}
		}

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值