Collection(practice)

package collection;

import java.util.ArrayList;

class Person1{
    private String name;
    private int age;
    public Person1(String name,int age){
        this.age=age;
        this.name=name;
    }
    public Person1(){}

    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;
    }
    @Override
    public int hashCode() {
        // TODO Auto-generated method stub
        return this.age;
    }
    @Override
    public boolean equals(Object obj) {
        if(!(obj instanceof Person1)){
            return false;
        }
        Person1 p=(Person1)obj;
        return this.name.equals(p.name)&&this.age==p.age;
    }
    @Override
    public String toString() {
        return "Person@name:"+this.name+"age:"+this.age;
    }
}


public class Demo1 {
    public static void main(String[] args) {
        ArrayList arr=new ArrayList();  
        Person1 p1=new Person1("jack",20);
        Person1 p2=new Person1("rose",18);
        Person1 p3=new Person1("rose",18);
        arr.add(p1);
        arr.add(p2);
        arr.add(p3);
        System.out.println(arr);
        ArrayList arr2=new ArrayList();
        for(int i=0;i<arr.size();i++){
            Object obj=arr.get(i);
            Person p=(Person)obj;
            if(!(arr2.contains(p))){
                arr2.add(p);
            }
        }
        System.out.println(arr2);
    }
}




package collection;

import java.util.Iterator;
import java.util.LinkedList;
//逆序迭代
public class Demo2 {
    public static void main(String[] args) {
        LinkedList list=new LinkedList();
        list.add("aa");
        list.add("bb");
        list.add("cc");
        Iterator dit=list.descendingIterator();
        while(dit.hasNext()){
            System.out.println(dit.next());
        }
    }
}


package collection;

import java.util.Enumeration;
import java.util.Vector;
//vector:线程安全的ArrayList
public class Demo3 {
    public static void main(String[] args) {
        Vector v=new Vector();
        v.addElement("aaa");
        v.addElement("bbb");
        v.addElement("ccc");
        System.out.println(v);
        System.out.println(v.elementAt(2));
        Enumeration ens=v.elements();
        while(ens.hasMoreElements()){
            System.out.println(ens.nextElement());
        }
    }
}

package collection;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
//使用迭代器清空
public class Demo4 {
    public static void main(String[] args) {
        Collection coll=new ArrayList();
        coll.add("aaa");
        coll.add("bbb");
        coll.add("ccc");
        System.out.println(coll);
        Iterator it=coll.iterator();
        while(it.hasNext()){
            it.next();
            it.remove();
        }
        System.out.println(coll);
    }
}


package collection;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.ListIterator;
public class Demo5 {
    public static void main(String[] args) {
        ArrayList list=new ArrayList();
        list.add("net");
        list.add("os");
        list.add("computer");
        System.out.println(list);
        ListIterator lit=list.listIterator();
        while(lit.hasNext()){
            String next=(String)lit.next();
            System.out.println(next);
        }
        System.out.println("*********");
        while(lit.hasPrevious()){
            String next=(String) lit.previous();
            System.out.println(next);
        }
    }
}

package collection;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.ListIterator;
public class Demo6 {
    public static void main(String[] args) {
        ArrayList list=new ArrayList();
        list.add("net");
        list.add("os");
        list.add("computer");
        list.add("java");
        System.out.println(list);
        ListIterator lit=list.listIterator();
        lit.next();
        lit.next();
        System.out.println(lit.next());
        lit.add("C++");
        System.out.println(list);


    }
}

package collection;

import java.util.TreeSet;
//TreeSet继承Comparable实现compareto方法
class Person implements Comparable{
    private String name;
    private int age;
    private String gender;
    public Person(String name,int age,String gender){
        this.name=name;
        this.age=age;
        this.gender=gender;
    }
    public String getName(String name){
        return name;
    }
    public void setName(String name){
        this.name=name;
    }
    public int getAge(){
        return age;
    }
    public void setAge(int age){
        this.age=age;
    }
    public String getGender(){
        return gender;
    }
    public void setGender(String gender){
        this.gender=gender;
    }
    @Override
    public int hashCode() {
        return name.hashCode()+age*37;
    }
    @Override
    public boolean equals(Object obj) {
        if(!(obj instanceof Person)){
            return false;
        }
        Person p=(Person)obj;
        return this.name.equals(p.name)&&this.age==p.age;
    }
    @Override
    public String toString() {
        return "Person [name:"+name+",age="+age+",gender="+gender+"]";
    }
    @Override
    public int compareTo(Object o) {
        Person p=(Person)o;
        System.out.println(this+" compareTo:"+p);
        if(this.age>p.age){
            return 1;
        }
        if(this.age<p.age){
            return -1;
        }
        return this.name.compareTo(p.name);
    }
}

public class Demo7 {
    public static void main(String[] args) {
        TreeSet ts=new TreeSet();
        ts.add(new Person("aa",20,"男"));
        ts.add(new Person("bb",18,"女"));
        ts.add(new Person("cc",17,"男"));
        ts.add(new Person("dd",30,"男"));
        ts.add(new Person("dd",15,"女"));

        System.out.println(ts);
        System.out.println(ts.size());

    }
}


package collection;

import java.util.Comparator;
import java.util.TreeSet;

class Book{
    private String name;
    private double price;
    public Book(){}
    public String getName(){
        return name;
    } 
    public void setName(String name){
        this.name=name;
    }
    public double getPrice(){
        return price;
    }
    public void setPrice(double price){
        this.price=price;
    }
    public Book(String name,double price){
        this.name=name;
        this.price=price;
    }
    @Override
    public String toString() {
        return "Book[name="+name+",price="+price+"]";
    }
}

class MyComparator implements Comparator{

    @Override
    public int compare(Object o1, Object o2) {
        Book b1=(Book)o1;
        Book b2=(Book)o2;
        System.out.println(b1+"comparator "+b2);
        if(b1.getPrice()>b2.getPrice()){
            return 1;
        }
        if(b1.getPrice()<b2.getPrice()){
            return -1;
        }
        return b1.getName().compareTo(b2.getName());
    }
}

public class Demo8 {
    public static void main(String[] args) {
        TreeSet ts=new TreeSet(new MyComparator());
        ts.add(new Book("think in java",100));
        ts.add(new Book("java核心",70));
        ts.add(new Book("现代操作系统",50));
        ts.add(new Book("java就业教程",35));
        ts.add(new Book("abc in java",100));

        System.out.println(ts);
    }
}


package collection;

import java.util.TreeSet;
//切割字符串的空格
public class Demo9 {
    public static void main(String[] args) {
        String str="8 10 15 5 2 7";
        String[] strs=str.split(" ");
        TreeSet ts=new TreeSet();
        for(int x=0;x<strs.length;x++){
            int y=Integer.parseInt(strs[x]);
            ts.add(y);
        }
        System.out.println(ts);
    }
}


package collection;

import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;

//获取map的键值
public class Demo10 {
    public static void main(String[] args) {
        Map<Integer,String> map=new HashMap<Integer,String>();
        map.put(1, "aaa");
        map.put(2, "bbb");
        map.put(3, "ccc");
        System.out.println(map);

        Set<Integer> ks=map.keySet();
        Iterator<Integer> it=ks.iterator();
        while(it.hasNext()){
            Integer key=it.next();
            String value=map.get(key);
            System.out.println("key="+key+" value="+value);
        }

        //获取map的value元素
        Collection<String> vs=map.values();
        Iterator<String> ite=vs.iterator();
        while(ite.hasNext()){
            String value=ite.next();
            System.out.println("value="+value);
        }
        //使用entry类存储映射关系
        Set<Map.Entry<Integer, String>> es=map.entrySet();
        Iterator<Map.Entry<Integer, String>> ites=es.iterator();
        while(ites.hasNext()){
            Map.Entry<Integer, String> en=ites.next();
            Integer key=en.getKey();
            String value=en.getValue();
            System.out.println("key="+key+" value="+value);
        }

    }
}


package collection;
//泛型
public class Demo11<T> {
    public static void main(String[] args) {
        Demo11 d11=new Demo11<Integer>();
        int d=(int) d11.getData(5);
        System.out.println(d);
    }

    public T getData(T data){
        return data;
    }

    public void reverse(T[] arr){
        int start=0;
        int end=arr.length-1;
        for(int i=start,j=end;i<j;i++,j--){
            T temp=arr[i];
            arr[i]=arr[j];
            arr[j]=temp;
        }
    }

}


package collection;

public class Demo12 {
    public static void main(String[] args) {
        Father<String> f=new Father<String>("jack");
        System.out.println(f.getT());
        Father<Integer> f2=new Father<Integer>(20);
        System.out.println(f2.getT());
    }
}

class Father<T>{
    private T t;
    public Father(){}
    public Father(T t){
        super();
        this.t=t;
    } 
    public T getT(){
        return t;
    }
    public void setT(T t){
        this.t=t;
    }
}



package collection;

public class Demo13 {
    public static void main(String[] args) {
        MyInter<String> my=new MyInter<String>();
        my.print("泛型");
    }
}

interface Inter<T>{
    void print(T t);
}

class MyInter<T> implements Inter<T>{
    public void print(T t){
        System.out.println("myprint:"+t);
    }
}





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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值