标签: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
本文出自 “作业” 博客,请务必保留此出处http://10718270.blog.51cto.com/10708270/1782506
标签:java 集合
原文地址:http://10718270.blog.51cto.com/10708270/1782506