栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

第十章 集合框架 ② 代码

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

第十章 集合框架 ② 代码

第十章 集合框架 ② 代码
    • 1.Collection接口 遍历元素
    • 2.重写equals方法,实现按内容判断相等性
    • 3.创建list集合
    • 4. 判断相等性
    • 5.链表:1.查询效率低 2.添加删除效率高

1.Collection接口 遍历元素
package com.yzh7.test2;

import com.sun.corba.se.impl.ior.OldJIDLObjectKeyTemplate;

import java.util.ArrayList;
import java.util.Collection;


public class Test {
    public static void main(String[] args) {
        //创建Collection接口
        Collection col = new ArrayList();
        //存储数据
        col.add("abc");
        col.add(100);
        col.add(1.7);
        col.add(true);

        System.out.println(col);
        //遍历元素
        for (Object obj : col){
            System.out.println(obj);
        }

        col.remove("abc");
        System.out.println(col);
    }
}

2.重写equals方法,实现按内容判断相等性
package com.yzh7.test2;

import java.util.Objects;


public class Student {
    private String name;
    private String sex;
    private int age;

    public Student() {
    }

    public Student(String name, String sex, int age) {
        this.name = name;
        this.sex = sex;
        this.age = age;
    }

    //重写equals方法,实现按内容判断相等性
    @Override //s1.equals(s2)
    public boolean equals(Object obj) {
        System.out.println("=======调用了 student equals========:"+obj);
        //1.判断地址是否相等
        if(this==obj){
            return true;
        }

        //2.判断目标类型和当前对象的类型是否一致
        if (!(obj instanceof Student)){
            //类型不一致,直接返回false
            return false;
        }

        //3.做类型转换,比较内容
        Student s = (Student) obj;
        if(this.name.equals(s.name) && this.sex.equals(s.sex) && this.age==s.age){
            return  true;
        }
        return false;
    }

    public String getName() {
        return name;
    }

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

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public int getAge() {
        return age;
    }

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

    @Override
    public String toString() {
        return "Student{" +
                "name='" + name + ''' +
                ", sex='" + sex + ''' +
                ", age=" + age +
                '}';
    }
}
3.创建list集合

1.数据有序 2.可以重复 3.有索引

package com.yzh7.test2;

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


public class Test2 {
    public static void main(String[] args) {
        //创建list集合
        //1.数据有序 2.可以重复 3.有索引
        List list = new ArrayList();
        list.add("bbb");
        list.add("aaa");
        list.add("aaa");
        list.add(123);
        list.add(234.234);
        list.add(true);
        list.add(new Student("张三","男",20));

        //打印输出
        System.out.println(list);
        //输出长度
        System.out.println(list.size());
        //输出下标为2的元素
        System.out.println(list.get(2));
        //根据数值删除数据
        //list.remove("bbb");
        //System.out.println(list);
        //list.remove(234.234);
        //System.out.println(list);
        //传入整数时,默认按索引删除
        //list.remove(new Integer(123));
        //list.remove(Integer.valueOf(123));
        //System.out.println(list);
        //list.remove(new Student("张三","男",20));
        //System.out.println(list);

        //批量删除
//        List list2 = new ArrayList();
//        list2.add("bbb");
//        list2.add("aaa");
//        list2.add(Integer.valueOf(123));
//        list.removeAll(list2);
//        System.out.println(list);

        //System.out.println(list.contains("xxx"));

        //集合遍历
        //方式1:索引遍历
        for (int i=0;i
            Object o = list.get(i);
            System.out.println(o);
        }

        System.out.println("======================");

        //方式2:for each
        for(Object o : list){
            System.out.println(o);
        }
    }
}
4. 判断相等性
package com.yzh7.test2;


public class Test3 {
    public static void main(String[] args) {
        String s1 = "abc";
        String s2 = new String("abc");
        //System.out.println(s1==s2);
        //System.out.println(s1.equals(s2));
        System.out.println("====================");
        Student stu1 = new Student("张三","男",20);
        Student stu2 = new Student("张三","男",21);
        System.out.println(stu1==stu2);
        System.out.println(stu1.equals(stu2));
    }
}
5.链表:1.查询效率低 2.添加删除效率高
package com.yzh7.test3;

import java.util.LinkedList;
import java.util.List;
import java.util.Vector;


public class Test {
    public static void main(String[] args) {
        //链表:1.查询效率低 2.添加删除效率高
        LinkedList list = new LinkedList();
        list.add("aaa");
        list.add("ccc");
        list.add("ddd");
        list.add(100);
        list.add(300);
        list.add(200);
        System.out.println(list);
        list.addFirst("xxxx"); //头部添加
        list.addLast("yyyy"); //尾部添加
        System.out.println(list);
        list.add(3,"qqq");
        System.out.println(list);
        list.removeLast(); //删除尾部
        list.removeFirst();//删除头部
        System.out.println(list);

        System.out.println("=================");
        //Vector:多线程环境下安全,性能低。
        //ArrayList:多线程环境下不安全,性能高
        Vector vector = new Vector();
        vector.add("sdfs");
        vector.add("asdf");
        vector.add(2423);
        vector.add(true);
        vector.add(null);
        System.out.println(vector);
    }
}

// An highlighted block
var foo = 'bar';
// An highlighted block
var foo = 'bar';
// An highlighted block
var foo = 'bar';
// An highlighted block
var foo = 'bar';
// An highlighted block
var foo = 'bar';
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1008728.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号