Java集合的基本常用方法及注意事项

1:ArrayList



import java.util.*;
import java.util.concurrent.Callable;

public class ArrayListTest {
    public static void main(String[] args) {
        
        //-----------------创建一个装整数型的数组-----------------
        ArrayList<Integer> list=new ArrayList();
        List<Integer> list2=List.of(2345,35,346,4);//新建一个数组,可add和remove,但是不能修改,set修改则为提示UnsupportedOperationException
        List<Integer> list3=Arrays.asList(124,43,547,65);//新建一个数组,大小固定,只能用set改变值,add和remove不行

        
//        -------------------添加元素-------------------------
        list.add(1);//往数组末尾添加一个元素
        list.add(5);
        list.add(5);
        list.add(6);
        list.add(8);
        list.add(7);
        list.add(6);
        list.add(3,4);//在数组的下标为3的位置插入值为4的元素,之前下标为3和后面的元素向后移动
        list.addAll(list2);//添加一个数组


//       --------------------取出对应元素------------------
        int t=list.get(0);//取出下标为0的元素值
        System.out.println("t=="+t);

        
//        ------------------找元素-------------------------
        int index=list.indexOf(5);//返回此列表中指定元素第一次出现的索引,如果此列表不包含该元素,则返回 -1
        System.out.println("index=="+index);

        boolean have=list.contains(1);//查找是否有这个元素
        System.out.println("list中是否有这个元素:"+have);

        
        
//        --------------------置换元素----------------------
        list.set(1,2);//在数组的下标为1的元素值变为2,相当与c++里面的 v[1]=2;


        
//        ---------------------删除元素-----------------------
        list.remove(1);//清除下标为1的元素

        //删除元素的方法,使用迭代器删除
        Iterator<Integer> iterator = list.iterator();//返回迭代器
        int myobject=6;
        while(iterator.hasNext()){
            int temp=iterator.next();//迭代器往后移动,返回之前的元素。
            if(temp==myobject){//判断元素是否满足条件然后删除
                iterator.remove();
            }
        }
        
//      使用removeIf方法删除
        list.removeIf (c-> c==5);//移除list中满足条件的元素
        list.removeAll(list3);//移除list中,list和lsit3的交集元素

        
        
//        -------------------排序-----------------------
//        1,从小到大排序
        list.sort(Comparator.naturalOrder());
        Collections.sort(list);
//        2,从大到小排序
        list.sort(Comparator.reverseOrder());
        list.sort(Comparator.reverseOrder());

       Comparator<Integer> paixu=new Comparator<Integer>() {
           @Override
           public int compare(Integer o1, Integer o2) {
//               return o1.compareTo(o2); 手写排序,从小到大
               return -o1.compareTo(o2);  //手写排序,从大到小
//               当然自己根据需要也可以定义其他排序方法
           }
       };
       Collections.sort(list,paixu);//执行排序的集合list,和自定义排序法



//       --------------------遍历输出数组------------------
//        1:
        for (Integer i:list){
            System.out.println(i);
        }
        
//        2:
        list.forEach(System.out::println);
        
//        3:
        for(int i=0;i< list.size();i++){
            System.out.println(list.get(i));
        }

    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值