2021-06-05

day12

ArrayList和LinkedList比较

import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
@SuppressWarnings("all")
/*ArrayList:插入花费时间为424毫秒
ArrayList:查询花费时间为1毫秒
LinkedList:插入花费时间为17毫秒
LinkedList:查询花费时间为13713毫秒*/
public class ArrayListAndLinkedList {
    public static void main(String[] args) {
        //多少个数据
        final int NUM = 100000;
        List list;
        //list = new ArrayList();
        list = new LinkedList();
        long start = System.currentTimeMillis();
        for (int i = 0; i < NUM; i++) {
            list.add(0,"hello"+ i);
        }
        long end = System.currentTimeMillis();
        System.out.println(list.getClass().getSimpleName()+":"
                +"插入花费时间为"+ (end-start)+"毫秒");
        
        System.out.println("------------------");
        
        long start1 = System.currentTimeMillis();
        for (int i = 0; i < list.size(); i++) {
            list.get(i);
        }
        long end1 = System.currentTimeMillis();
        System.out.println(list.getClass().getSimpleName()+":"
                +"查询花费时间为"+ (end1-start1)+"毫秒");
        
    }
}

hashSet

import java.util.HashSet;
import java.util.Set;
@SuppressWarnings("all")
public class HashSetTest {
    public static void main(String[] args) {
        Set set = new HashSet();
        Student student1 = new Student("wzh",18);
        Student student2 = new Student("wzh",16);
        Student student3 = new Student("wwd",20);
        Student student4 = new Student("lhy",19);
        set.add(student1);
        set.add(student2);
        set.add(student3);
        set.add(student4);
        for (Object object : set) {
            System.out.println(object);
            System.out.println(object.hashCode());
        }
    }
}

ArrayList遍历

import java.util.List;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Iterator;
@SuppressWarnings("all")
public class ListTest {
    public static void main(String[] args) {
        List list = new ArrayList();
        //添加元素
        list.add("1");
        list.add("2");
        list.add("3");
        list.add("4");
        list.add("5");
        //遍历集合的方式1:foreach循环
        for (Object o:list) {
            System.out.println(o);
        }
        System.out.println();
        //遍历集合的方式2:迭代器:tor----抽象工具(判断有没有下一个值)
        //拿到下一个值
        //able--能够产生   迭代器对象 iterator();
        //Collection extends able--- 每一个collection对应的子接口
        //实现类都拥有自己的迭代器对象 ArrayList
        //HashSet
        Iterator iterator = list.iterator();
        while(iterator.hasNext()) {
            System.out.println(iterator.next());
        }
        System.out.println();
        //遍历集合的方式3:Arrays
        System.out.println(Arrays.toString(list.toArray()));
        System.out.println();
        //遍历集合的方式4:for循环
        for (int i = 0; i < list.size(); i++) {
            System.out.println(list.get(i));
        }
    }   
}

hashSet

import java.util.Arrays;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
@SuppressWarnings("all")
public class SetList {
    public static void main(String[] args) {
        //添加元素
        Set set = new HashSet();
        set.add("hello1");
        set.add("hello2");
        set.add("hello3");
        set.add("hello4");
        for(Object o:set) {
            System.out.println(o);
        }
        
        Iterator iterator = set.iterator();
        while (iterator.hasNext()) {
            System.out.println(iterator.next());    
        }
        
        System.out.println(Arrays.toString(set.toArray()));
    }
}

equals和comparaTo重写

import java.util.Objects;
//implements Comparable
public class Student implements Comparable{
    String name;
    int age;
    public Student(String name,int age) {
        this.name = name;
        this.age = age;
    }
    public Student() {
        
    }
    @Override
    public String toString() {
        // TODO Auto-generated method stub
        return "Student [name=" + name + ",age ="+ age +"]";
    }
    @Override
    public int hashCode() {
        // TODO Auto-generated method stub
        return Objects.hash(name,age);
    }
    @Override
    public boolean equals(Object obj) {
        // TODO Auto-generated method stub
        if (obj == null) {
            return false;
        }
        Student student = (Student)obj;
        if (obj instanceof Student) {
            if (this.name.equals(student.name)&& this.age==student.age) {
                return true;
            }
            return true;
        }
        
        
        return false;
    }
    @Override
    public int compareTo(Object o) {
        Student s =(Student)o;
        return this.age - s.age;    
    }
}

comparator重写

import java.util.Comparator;
import java.util.Set;
import java.util.TreeSet;
@SuppressWarnings("all")
public class TreeSetTest {
    public static void main(String[] args) {
        /*Comparator comparator = new Comparator() {
​
            @Override
            public int compare(Object o1, Object o2) {
                // TODO Auto-generated method stub
                return (((Student)o1).age - ((Student)o2).age);
            }
            
        };*/
        //(comparator)
        Set set = new TreeSet();
        /*set.add(1);//Integer进行了排序
        set.add(8);
        set.add(5);
        for (Object object : set) {
            System.out.println(object);
        }*/
        Student student1 = new Student("wzh",18);
        Student student2 = new Student("wzh",22);
        Student student3 = new Student("wwd",28);
        Student student4 = new Student("lhy",30);
        set.add(student1);
        set.add(student2);
        set.add(student3);
        set.add(student4);
        for (Object object : set) {
            System.out.println(object);
            //System.out.println(object.hashCode());
        }
        
    }
​
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值