List接口基本方法

 

 

List相比Collecion多了如下几个方法:

 

add(object) 增

remove(index) 按照索引删

set(index,object) 改

indexof(object) 查

add(index,object) 插入

get(index) 获取

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

public class TestList {
    public static void main(String[] args) {
        List list=new ArrayList();
        list.add("jarvis");
        list.add(2);
        list.add(null);
        list.add("robin");
        
        System.out.println("after add null...");
        System.out.println("list = " + list);
        
        list.add(1,"xiaoyu");
        System.out.println("after add index element...");
        System.out.println("list = " + list);
        
        /*
//        索引越界
        list.add(10,"xiaoyu");
        System.out.println("list = " + list);
        */

        list.remove(2);
        System.out.println("after remove index 2...");
        System.out.println("list = " + list);


        list.remove((Integer)2);
        System.out.println("after remove integer 2...");
        System.out.println("list = " + list);

        list.set(2,"creeper");
        System.out.println("after set index 2...");
        System.out.println("list = " + list);


        System.out.println("after indexof...");
        System.out.println("robin的index is  " + list.indexOf("robin"));

        System.out.println("after get...");
        System.out.println("index 2  is  " + list.get(2));

    }
}

 

 

案例实现:使用List添加5本书,并按照价格由低到高排序

 

public class Books {
    String name;
    int price;

    public Books() {
    }

    public Books(String name, int price) {
        this.name = name;
        this.price = price;
    }

    public String getName() {
        return name;
    }

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

    public int getPrice() {
        return price;
    }

    public void setPrice(int price) {
        this.price = price;
    }

    @Override
    public String toString() {
        return String.format("名称:%s    价格%d" ,name,price);
    }
}

 

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

public class TestList {
    public static void main(String[] args) {
        List<Books> books = new ArrayList();
        books.add(new Books("语文",50));
        books.add(new Books("MATH",30));
        books.add(new Books("ENGLISH",20));
        books.add(new Books("CHEMISTRY",40));
        books.add(new Books("PHYSICS",50));
        int length=books.size();
//        冒泡排序
        for (int i = 0; i <length ; i++) {
            for (int j = 0; j <length-i-1; j++) {
                if(books.get(j).price>books.get(j+1).price){
                    books.add(books.get(j));
                    books.set(j,books.get(j+1));
                    books.set(j+1,books.get(length));
                    books.remove(length);
                }
            }
        }

//        三种方式遍历
//        way 1
        for (int i = 0; i <books.size()  ; i++) {
            System.out.println( books.get(i));
        }

//          way2
        Iterator iterator=books.iterator();
        while(iterator.hasNext()){
            Object book1=iterator.next();
            System.out.println( book1);
        }

//        way2
        for(Object object:books){
            System.out.println( object);
        }




    }
}

 

其实完全是可以申请两个b1,b2对象作为变量

 for (int i = 0; i <length ; i++) {
            for (int j = 0; j <length-i-1; j++) {
                Books b1=books.get(j);
                Books b2=books.get(j+1);
                if(b1.price>b2.price){
                    books.set(j,b2);
                    books.set(j+1,b1);
                }
            }
        }

 

ArrayList 初始容量与扩容机制:

 

ArrayList和Vector对比:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值