java刷题常用数据结构的类

对于熟悉java的同学来说,做OJ题时选用java是不错的选择,如字符串处理方便,没有指针困扰,自动回收内存垃圾等。但要高效做题,必须要熟悉java中现成的常用数据结构的类。

常用的现成数据结构类

  • 线性表(List接口,有序的 collection(也称为序列)。此接口的用户可以对列表中每个元素的插入位置进行精确地控制。用户可以根据元素的整数索引(在列表中的位置)访问元素,并搜索列表中的元素。与 set 不同,列表通常允许重复的元素。)
    • Stack,堆栈
    • Vector, 动态数组
    • ArrayList, 实现了List接口的动态数组
    • LinkedList, List 接口的链接列表实现,包含队列、双端队列的API,同时实现Queue接口
  • 映射(Map接口,将键映射到值的对象。一个映射不能包含重复的键;每个键最多只能映射到一个值)
    • Hashtable,此类实现一个哈希表,该哈希表将键映射到相应的值。任何非 null 对象都可以用作键或值。
    • HashMap,基于哈希表的 Map 接口的实现。此实现提供所有可选的映射操作,并允许使用 null 值和 null 键。(除了非同步和允许使用 null 之外,HashMap 类与 Hashtable 大致相同。)
    • LinkedHashMap,Map 接口的哈希表和链接列表实现,具有可预知的迭代顺序,为插入顺序。
    • TreeMap,基于红黑树,该映射根据其键的自然顺序进行排序,或者根据创建映射时提供的 Comparator 进行排序,具体取决于使用的构造方法。
  • 集合(Set接口是一个不包含重复元素的集合)
    • HashSet,此类实现 Set 接口,由哈希表支持,元素存储迭代没有固定顺序
    • LinkedHashSet,具有可预知迭代顺序的 Set 接口的哈希表和链接列表实现,顺序为插入顺序
    • TreeSet,元素是内部排序的,使用元素的自然顺序对元素进行排序,或者根据创建 set 时提供的 Comparator 进行排序,具体取决于使用的构造方法。
  • 优先队列
    • PriorityQueue,一个基于优先级堆的无界优先级队列。优先级队列的元素按照其自然顺序进行排序,或者根据构造队列时提供的 Comparator 进行排序。元素小的优先级高,输出时先输出。实现Queue接口

其他常用的类,直接使用类中的静态方法

  • Arrays,此类包含用来操作数组(比如排序和搜索)的各种方法。
  • Math类,Math 类包含用于执行基本数学运算的方法,如初等指数、对数、平方根和三角函数。
  • Boolean,Byte,Short,Interger,Long,Double,Floate,Charcter等八种基本类型对应的包装类。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值