java 编程中常用的API

精选30+云产品,助力企业轻松上云!>>> hot3.png

Q:List怎么转数组?
A:
使用list.toArray(T[] )接口
注意先建数组再转, 直接转是错误的,因为他是object类型。

       List<Integer> list = new ArrayList<Integer>();
        list.add(1);
        list.add(2);
        list.add(3);
 
        // 转为object,注意list.toArray()只能转为Object[]
        Object[] objectArr = list.toArray();
 
        // 转为对应类型的arr
        Integer[] intArr = new Integer[list.size()];
        list.toArray(intArr);
 
        System.out.println(Arrays.toString(objectArr));
        System.out.println(Arrays.toString(intArr));

Q: 数组怎么转list
A:
利用Arrays.toList(T[])

        // 直接创建的方式
        List<Integer> unModifyList1 = Arrays.<Integer>asList(1,2,3,4);
 
        // 数组变量方式,注意不能为int[],否则会类型不正确
        // 这种方式生成的list不可变
        Integer[] arr = {1,2,3,4};
        List<Integer> unModifyList2 = Arrays.<Integer>asList(arr);
 
        // 这种方式生成的list可变
        List<Integer> canModifyList = new ArrayList<Integer>(Arrays.asList(arr));


Q:
怎么初始化list并填充初始值
A:
使用Collections.nCopies
注意new ArrayList<>(8,1);并不是指填充了8个1。

        List<Integer> fillList = new ArrayList<Integer>(Collections.nCopies(5,1));
        System.out.println(fillList);
 
        Collections.fill(fillList, 2);
        System.out.println(fillList);

Q:
如何反转list
A:
使用Collections.reverse(list)


如何反转字符串?
我自己用的是StringBuilder里的反转(好羡慕python处理字符串时的简单)

String reverStr = new StringBuilder(str).reverse().toString();

Q: 如何对list做排序(重要)
A:
数组用Arrays.sort(数组)
list用Collection.sort(list)
排序的元素要实现comparator接口。对于基本类型都是升序排序,string则按照字典序升序。


Q: 自定义排序
A:
实现Comparable接口
在comparable接口中,有个输入的对象other

可以理解为排序时
外界other放到自己后面,然后和自己比较
如果满足返回值大于0,则交换自己和外界o对象的位置
那么这里x<0.x,则交换,所以大的在前面。 优先队列同理,变成大顶堆

    static class Node implements Comparable<Node> {
        int x;
 
        public Node(int x) {
            this.x = x;
        }
 
        public int compareTo(Node other) {
            if (x < other.x) {
                return 1;
            } else if (x > other.x){
                return -1;
            } else {
                return 0;
            }
        }
    }

Q: java的队列

A:
注意队列的实现是LinkedList, 入队是offer,出队是pool

Queue<String> queue = new LinkedList<String>();
queue.offer("abc")
String outStr = queue.poll();

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值