Java基础数据结构的常用接口(不完全)

List/接口

接口,继承自Collection接口 java.util.List

常用方法:

  • void add(int index, E element):将指定的元素,添加到该集合中的指定位置上。
  • E get(int index):返回集合中指定位置的元素。
  • E remove(int index):移除列表中指定位置的元素, 返回的是被移除的元素。
  • E set(int index, E element):用指定元素替换集合中指定位置的元素,返回值的更新前的元素。
  • default void retainAll(Collection<?> c):将c集合与该集合做交集,并赋给该集合。

Arrays

与数组相关的工具类,提供了大量静态方法,实现数组常见操作

操作数组的方法:

  • static String toString(E[] a):返回指定数组内容的字符串表示形式。
  • static void sort(E[] a):对指定的数组按数字升序进行排序。
  • static void copyOf(E[] a, int newLength):用于复制指定的数组内容以达到扩容的目的。

ArrayList

java.util.ArrayList<E> 集合 数组结构,元素增删慢,查找快


基本格式:

  • ArrayList<String> list = new ArrayList<>();

常用方法和遍历:(增、删、查):

  • 继承自List接口。
  • boolean add(E e):将指定的元素添加到此集合的尾部。
  • E remove(int index):移除此集合中指定位置上的元素。返回被删除的元素。
  • E get(int index):返回此集合中指定位置上的元素。返回获取的元素。
  • int size():返回此集合中的元素数。遍历集合时,可以控制索引范围,防止越界。
        ArrayList<Integer> list1 = new ArrayList<>();
        list1.add(0);
        list1.add(1);
        list1.add(2);
        list1.add(3);
        list1.add(4);
        System.out.println("-----ArrayList-----");
        System.out.println(list1);
        System.out.println("index-1:"+list1.get(1));
        System.out.println("index-4:"+list1.get(4));
        list1.remove(1);
        System.out.println(list1);
        System.out.println("index-1:"+list1.get(1));
        System.out.println("是否包含元素0:"+list1.contains(0));
        System.out.println("是否包含元素1:"+list1.contains(1));

LinkedList

java.util.LinkedList 链表结构,方便元素添加、删除的集合

首尾操作的方法:

  • 继承自List接口。
  • void addFirst(E e):将指定元素插入此列表的开头。
  • void addLast(E e):将指定元素添加到此列表的结尾。
  • void push(E e):将元素推入此列表所表示的堆栈。
  • E getFirst():返回此列表的第一个元素。
  • E getLast():返回此列表的最后一个元素。
  • E removeFirst():移除并返回此列表的第一个元素。
  • E removeLast():移除并返回此列表的最后一个元素。
  • E pop():从此列表所表示的堆栈处弹出一个元素。
  • boolean isEmpty():如果列表不包含元素,则返回true。
        Queue<Integer> list3 = new LinkedList<>();
        for (int i = 0; i < 10; i++) {
            list3.add(i);
        }
        System.out.println("----------Queue:LinkedList----------");
        System.out.println(list3);
        System.out.println("poll:"+list3.poll());
        System.out.println("poll之后:"+list3);
        System.out.println("peek:"+list3.peek());
        System.out.println("peek之后:"+list3);
        list3.offer(10);
        System.out.println("offer之后:"+list3);

 

        Deque<Integer> list4 = new LinkedList<>();
        for (int i = 0; i < 10; i++) {
            list4.add(i);
        }
        System.out.println("----------Deque:LinkedList----------");
        System.out.println(list4);
        System.out.println("队头元素:"+list4.getFirst());
        System.out.println("队尾元素:"+list4.getLast());
        System.out.println("栈顶元素:"+list4.peek());
        list4.removeFirst();
        System.out.println("去除队头之后:"+list4);
        list4.removeLast();
        System.out.println("去除队尾之后:"+list4);
        list4.offer(-1);
        System.out.println("offer之后:"+list4);

 

 

Map<T>/接口

接口 java.util.Map集合

常用方法:

  • V put(K key, V value):把指定的键与指定的值添加到Map集合中。返回被替换的value值。
  • V remove(Object key):把指定的键所对应的键值对元素在Map集合中删除,返回被删除元素的值。
  • V get(Object key):根据指定的键,在Map集合中获取对应的值。
  • boolean containsKey(Object key):判断集合中是否包含键值k的映射关系。
  • boolean containsValue(Object value):判断集合中是否将一个或多个键映射到指定值。
  • Set<K> keySet():获取Map集合中所有的键,存储到Set集合中。
  • V getOrDefault(Object key, V defaultValue):当Map集合中有这个key时,就使用这个key的Value值;如果没有就使用默认值defaultValue。

Stack<T>

常用方法:

  • V push(V value):将指定元素压入栈中
  • V pop():返回栈顶元素,并且元素出栈
  • V peek():返回栈顶元素,元素不出栈
  • boolean contains(V value):判断栈内是否包含该元素
        Stack<Integer> st = new Stack<>();
        for (int i = 0; i < 10; i++) {
            st.push(i);
        }
        System.out.println("----------Stack----------");
        System.out.println(st);
        System.out.println("当前栈顶元素是:"+st.peek());
        st.pop();
        System.out.println("当前栈顶元素是:"+st.peek());
        System.out.println("是否包含元素2:"+st.contains(2));

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值