java基础第十天_集合

练习vector 定义student类 name age sex 重写equals

1、remove(int index);//删除指定位置的元素

2、remove(Object o);//删除指定对象,考查删除对象的规则是什么?

3、removeAll(Collection col);//删除指定集合中的所有元素。

4、contains(Object o);//是否包含

5、contains(Collection col);//是否包含集合。

=================================================================================================

练习vector 定义student类 name age sex 重写equals

重写equals:先判断是否对象为空,然后判断三个属性相同才相同

public class Student {

private String name ;

private int age ;

private char sex ;

public Student(){

}

//重载构造函数

public Student(String name,int age,char sex){

this.name = name ;

this.age = age ;

this.sex = sex ;

}

//构造函数重载

public Student(String name, int age) {

super();

this.name = name;

this.age = age;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public int getAge() {

return age;

}

public void setAge(int age) {

this.age = age;

}

public char getSex() {

return sex;

}

public void setSex(char sex) {

this.sex = sex;

}

/**

* 重写equals方法.

*/

public boolean equals(Object obj) {

if(obj == null){

return false ;

}

if(this == obj){

return true ;

}

boolean nameEqu = false ;

if(obj.getClass() == Student.class){

Student s = (Student)obj;

//名字为空

if(this.name == null ){

if(s.name == null){

nameEqu = true ;

}

else{

nameEqu = false ;

}

}

//name不为空

else{

nameEqu = this.name.equals(s.name);

}

//处理age

boolean ageEqu = (this.age == s.age) ;

//处理sex

boolean sexEqu = false ;

//性别为空

if(String.valueOf(this.sex)== null ){

if(String.valueOf(s.sex) == null){

sexEqu = true ;

}

else{

sexEqu = false ;

}

}

//性别不为空

else{

sexEqu = String.valueOf(this.sex).equals(s.sex);

}

return nameEqu && ageEqu&&sexEqu ;

}

return false ;

}

}

import java.util.Vector;

public class VectorDemo {

public static void main(String[] args) {

Vector<Student> vector = new Vector<Student>();

Student s1 = new Student("tom", 10);

vector.add(s1);

vector.add(new Student("tom2",11));

vector.add(0, new Student("tom3", 12));

vector.remove(0);

vector.add(10, new Student());

System.out.println();

}

}

1、remove(int index);//删除指定位置的元素

2、remove(Object o);//删除指定对象,考查删除对象的规则是什么?

3、removeAll(Collection col);//删除指定集合中的所有元素。

4、contains(Object o);//是否包含

5、contains(Collection col);//是否包含集合。

import java.util.ArrayList;

import java.util.List;

public class CollectionDemo {

public static void main(String[] args) {

List<Student> list = new ArrayList<Student>();

Student s1 = new Student("student1");

Student s2 = new Student("student2");

Student s3 = new Student("student3");

Student s4 = new Student("student4");

Student s5 = new Student("student5");

list.add(s1);

list.add(s2);

list.add(s3);

list.add(s4);

list.add(s5);

getlist(list);

System.out.println("删除第一个学生=============");

list.remove(0);

getlist(list);

System.out.println("通过remove(object o)删除对象");

list.remove(s2);

getlist(list);

System.out.println("list 是否包含 s1 " + list.contains(s1));

System.out.println("list 是否包含 s3 " + list.contains(s3));

List<Student> list2 = new ArrayList<Student>();

list2.add(s2);

list2.add(s3);

System.out.println("list 是否包含 list2 : " + list.containsAll(list2));

List<Student> list3 = new ArrayList<Student>();

list3.add(s3);

list3.add(s4);

System.out.println("list 是否包含 list3 : " + list.containsAll(list3));

list.removeAll(list3);

getlist(list);

}

public static void getlist(List<Student> list) {

for (int i = 0; i < list.size(); i++) {

Student s = list.get(i);

System.out.println(s.getName());

}

}

}

class Student {

private String name;

public Student(String name) {

this.name = name;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

}

问题:

心得:

1.List :列表 接口          实现  ArrayList()

contains()   //包含对象

containsAll()   //包含list、collection

remove() //移除对象

removeAll() //移除collection  可以从一个collection删除包含交集的另一个collection

2.[ ]数组

---------------------

length //长度属性

3.String

---------------------------

length() //长度方法

4.interface collection

---------------------------

size() //方法

isEmpty() //判断集合为空集合 运算

List   //有序,可重复

Set //无序,不重复

Map //Key-Value

时间: 2024-11-09 02:26:24

java基础第十天_集合的相关文章

java基础(十四)集合(一)

这里有我之前上课总结的一些知识点以及代码大部分是老师讲的笔记 个人认为是非常好的,,也是比较经典的内容,真诚的希望这些对于那些想学习的人有所帮助! 由于代码是分模块的上传非常的不便.也比较多,讲的也是比较清晰的!如果你有需要可以在评论中留下您的邮箱我看到一定会免费发给你的!感谢这个平台让我们大家共同进步吧!! 记住 程序员是无私的!!! 也非常欢迎到我的博客内观看 博客地址:http://www.cnblogs.com/duscl/ /* 1:对象数组(掌握) (1)数组既可以存储基本数据类型,

夯实Java基础(十九)——集合

1.前言 集合在Java中的地位想必大家都知道,不用多BB了.无论是在我们现在的学习中还是在今后的工作中,集合这样一个大家族都无处不在,无处不用.在前面讲到的数组也是一个小的容器,但是数组不是面向对象对象的,它存在明显的缺陷,而集合恰好弥补了数组带来的缺陷.集合比数组更加灵活.更加实用.而且不同的集合框架可用于不同的场景. 我们简单来比较一下数组和集合区别: 1.数组能存放基本数据类型和对象,而集合类中只能存放对象. 2.数组容量固定无法动态改变,集合类容量可以动态改变. 3.数组无法判断其中实

IT十八掌作业_java基础第十天_集合

1.remove(int index); //删除指定位置的元素 2.remove(Object o); //删除指定对象,考查删除对象的规则是什么? 3.removeAll(Collection col);//删除指定集合中的所有元素. 4.contains(Object o); //是否包含 5.contains(Collection col);//是否包含集合. ----------------------------------------------------------------

java基础(十六)集合(三)

这里有我之前上课总结的一些知识点以及代码大部分是老师讲的笔记 个人认为是非常好的,,也是比较经典的内容,真诚的希望这些对于那些想学习的人有所帮助! 由于代码是分模块的上传非常的不便.也比较多,讲的也是比较清晰的!如果你有需要可以在评论中留下您的邮箱我看到一定会免费发给你的!感谢这个平台让我们大家共同进步吧!! 记住 程序员是无私的!!! 也非常欢迎到我的博客内观看 博客地址:http://www.cnblogs.com/duscl/ /* 1:登录注册案例(理解) 2:Set集合(理解) (1)

java基础(十五)集合(二)

这里有我之前上课总结的一些知识点以及代码大部分是老师讲的笔记 个人认为是非常好的,,也是比较经典的内容,真诚的希望这些对于那些想学习的人有所帮助! 由于代码是分模块的上传非常的不便.也比较多,讲的也是比较清晰的!如果你有需要可以在评论中留下您的邮箱我看到一定会免费发给你的!感谢这个平台让我们大家共同进步吧!! 记住 程序员是无私的!!! 也非常欢迎到我的博客内观看 博客地址:http://www.cnblogs.com/duscl/ /* 1:List的子类(掌握) (1)List的子类特点 A

Java基础知识综合练习_使用集合存储_高级银行系统的搭建(注册、登录、存取款、本行转账、跨行转账、销户、特殊操作参数、多个客户对象存入到银行类的集合,多个银行对象存入总测试类集合)

Java基础知识综合练习_使用集合存储_高级银行系统的搭建(注册.登录.存取款.本行转账.跨行转账.销户.特殊操作参数.多个客户对象存入到银行类的集合,多个银行对象存入总测试类集合) 1) 定义bank类 属性有银行名称和存放客户的ArrayList集合, 有开户方法. 销户方法. 存钱方法. 取钱方法. 转账方法(本行转账.跨行转账) 2) 定义customer类 属性有账户名.密码.余额 3) 定义测试类创建一个银行集合用于存放bank对象创建几个bank对象:分别叫华夏银行.工商银行.招商

Java基础--第二十五天

TCP协议: Socket类 构造方法: TCP程序,必须先开服务器端 成员方法 服务器端程序: 创建服务器端Socket对象: 监听连接: 获取输入流,并显示: 释放资源 ServerSocket类 网络编程 网络编程+反馈 大融合[所有的Java基础融合为一个实例] 正则表达式: 符合某种规则的字符串,常用于校验 规则: Pattern类 A:字符 x:任意字符表示任意字符本身 \\:反斜线字符[转义字符] \r:回车 \n:换行 B:字符类 [abc]:表示a,b,c任意字符一次 [^ab

集合框架、泛型、迭代(java基础知识十六)

1.ArrayList存储自定义对象并遍历 此类的 iterator 和 listIterator 方法返回的迭代器是快速失败的:在创建迭代器之后,除非通过迭代器自身的 remove 或 add 方法从结构上对列表进行修改,否则在任何时间以任何方式对列表进行修改,迭代器都会抛出 ConcurrentModificationException.* ArrayList存储自定义对象并遍历 ArrayList<Person> list = new ArrayList<>(); list.

IT十八掌作业_java基础第十一天_集合.txt

1.定义罪犯Criminal类,height(身高)/weight(体重)/blood(血型)/home(籍贯)属性. 重写hashcode和equals,使用四个属性的组合进行实现. 创建HashSet集合,里面存放20个Criminal对象,其中O型血2人,A型血3人,B型血4人,AB型血1人,其余血型不详. 注意:hashcode()方法实现时,要求身高.体重.和血型三个属性合成一个数字,实现两两比较的高效算法. package com.it18zhang.hash.demo; impor