Java集合的使用


Java 集合的使用

数组

问题

51.N 皇后问题

Java集合的使用

​ N 皇后问题中需要返回的是 List<List> 类型,感觉十分麻烦,可以通过 Arrays.fill() 和 char[], String的相互转换来解决。

Arrays

  • 数组填充
Arrays.fill(row, '.');
Arrays.fill(queens, -1);

String 与 char[] 的相互转换

1.String to char[]
	char[] charaArr = str.toCharArray();

2.char[] to String
	String str = new String(charArr);

ArrayDeque

问题

77.组合

Java集合的使用

题中用到了 ArrayDeque 的添加元素,删除元素,以及利用 ArrayDeque 初始化 ArrayList。

特点

  • ArrayDeque是 Deque接口的一个实现,使用了可变数组,所以没有容量上的限制。同时, ArrayDeque 是线程不安全的,在没有外部同步的情况下,不能在多线程环境下使用。

  • ArrayDeque是 Deque 的实现类,可以作为栈来使用,效率高于 Stack;也可以作为队列来使用,效率高于 LinkedList。

  • ArrayDeque 是 Java 集合中双端队列的数组实现,双端队列的链表实现(LinkedList)

  • ArrayDeque 不支持 null值。

常用操作

1.添加元素
    addFirst(E e)在数组前面添加元素
    addLast(E e)在数组后面添加元素
        
2.删除元素
    removeFirst()删除第一个元素,并返回删除元素的值,如果元素为null,将抛出异常
    removeLast()删除最后一个元素,并返回删除元素的值,如果为null,将抛出异常
    removeFirstOccurrence(Object o) 删除第一次出现的指定元素
    removeLastOccurrence(Object o) 删除最后一次出现的指定元素
        
3.获取元素
    getFirst() 获取第一个元素,如果没有将抛出异常
    getLast() 获取最后一个元素,如果没有将抛出异常

4.其他
    size() 获取队列中元素个数
    isEmpty() 判断队列是否为空
    contain(Object o) 判断队列中是否存在该元素
    toArray() 转成数组
    clear() 清空队列

ArrayList 与 ArrayDeque 的相互转换

1. ArrayDeque 转换为 ArrayList
	ArrayList<Integer> list = new ArrayList<>(deque);
	
2. ArrayList 转换为 ArrayDeque
    ArrayDeque<Integer> deque = new ArrayDeque<>(list);

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/278934.html

(0)
上一篇 2022年8月4日
下一篇 2022年8月4日

相关推荐

发表回复

登录后才能评论