Java中的不同数据类型的方法调用

数组

在Java中,数组是一个基础的数据结构,用来存储固定大小的同类型元素。数组本身在Java中是一个对象,但它的方法比较有限,主要依赖于Java的Arrays类来进行数组操作。

排序

  1. sort():
    • 对整个数组或指定范围的元素进行排序。重载版本支持所有基本类型数组和对象数组。对于对象数组,可以使用自定义的Comparator
    • 例子:Arrays.sort(array);Arrays.sort(array, Comparator.reverseOrder());

搜索

  1. binarySearch():
    • 在已排序的数组中使用二分查找法查找特定元素的索引。如果数组未排序,则结果是不确定的。
    • 例子:int index = Arrays.binarySearch(array, key);

填充

  1. fill():
    • 将指定的值分配给数组中的每个或某个范围的元素。
    • 例子:Arrays.fill(array, value);

转换为列表

  1. asList():
    • 返回一个固定大小的列表,该列表由数组支持,因此转换后的列表和原数组共享相同的数据。
    • 例子:List<Integer> list = Arrays.asList(1, 2, 3);

复制

  1. copyOf()copyOfRange():
    • copyOf() 创建一个新的数组,复制原始数组的指定长度的元素。
    • copyOfRange() 复制原始数组指定范围的元素到新数组。
    • 例子:int[] newArray = Arrays.copyOf(array, newLength);

比较

  1. equals():
    • 比较两个数组的内容是否相等。
    • 例子:boolean isEqual = Arrays.equals(array1, array2);

打印

  1. toString():
    • 返回数组内容的字符串表示形式。
    • 例子:String arrayAsString = Arrays.toString(array);

哈希

  1. hashCode():
    • 根据数组内容生成一个哈希码。
    • 例子:int hash = Arrays.hashCode(array);

深度比较和哈希

  1. deepEquals()deepHashCode():
    • deepEquals() 用于比较多维数组。
    • deepHashCode() 为多维数组生成深度哈希码。
    • 例子:boolean isDeepEqual = Arrays.deepEquals(array1, array2);

并行操作

  1. parallelSort():
    • 使用并行排序算法对数组进行排序,利用多核处理器加速排序过程。
    • 例子:Arrays.parallelSort(array);

栈(Stack)

在Java中,栈(Stack)是一种后进先出(LIFO)的数据结构,它提供了基本的操作来支持添加、删除和检查元素。Java标准库中的java.util.Stack类继承自Vector,提供了特定于栈的操作。下面是Stack类中的一些常用方法:

  1. push():

    • 将一个元素压入栈顶。
    • 参数item是要添加到栈顶的元素。
    • 返回被压入的元素。
  2. pop():

    • 移除栈顶的元素,并作为此方法的值返回该对象。
    • 如果栈为空,则抛出EmptyStackException
  3. peek():

    • 查看栈顶的元素但不从栈中移除它。
    • 如果栈为空,则抛出EmptyStackException
  4. empty():

    • 检查栈是否为空。
    • 返回true如果栈为空,否则返回false
  5. search(Object o):

    • 返回对象在栈中的位置,以1为基数计算。
    • 如果对象在栈中,返回从栈顶到该对象的距离;如果对象不在栈中,则返回-1

哈希表

在Java中,哈希表通常通过HashMap类实现,这是java.util包中提供的一个部分。HashMap提供了一种通过键值对存储和管理数据的方式,其基于哈希表的数据结构允许快速的查找、添加和删除操作。以下是HashMap中的一些常用方法:

  1. put(K key, V value):

    • 将指定的键和值关联在哈希表中。
    • 如果键已经存在,则替换旧的值。
    • 返回与键关联的前一个值,如果键是新的,则返回null
  2. get(Object key):

    • 根据指定的键从哈希表中检索值。
    • 如果哈希表包含该键的映射,则返回与该键关联的值;否则,返回null
  3. remove(Object key):

    • 从哈希表中移除指定键的映射(如果存在)。
    • 返回被移除的值,如果键不存在,则返回null
  4. containsKey(Object key):

    • 检查哈希表是否包含指定的键。
    • 返回true如果哈希表包含指定的键。
  5. containsValue(Object value):

    • 检查哈希表是否包含一个或多个键映射到指定值。
    • 返回true如果哈希表中至少有一个键映射到该值。
  6. size():

    • 返回哈希表中的键值对数量。
  7. isEmpty():

    • 检查哈希表是否为空(即不包含键值对)。
    • 返回true如果哈希表为空。
  8. clear():

    • 清除哈希表中的所有映射。
  9. keySet():

    • 返回哈希表中所有键的集合。
    • 该集合可以用来遍历哈希表。
  10. values():

    • 返回哈希表中所有值的集合。
    • 这允许遍历所有值,但不保证顺序。
  11. entrySet():

    • 返回哈希表中所有映射项的集合。
    • 每个元素是一个Map.Entry<K,V>对象,可以从中检索键和值。

字符串 (String)

Java 中的字符串 (String) 类提供了丰富的方法来操作文本。这些方法允许进行搜索、比较、替换、转换等操作,使字符串的处理变得非常灵活和强大。下面是一些常用的 String 方法:

  1. length():

    • 返回字符串的长度(字符数)。
  2. charAt(int index):

    • 返回指定位置(index)的字符。
  3. substring(int beginIndex, int endIndex):

    • 返回字符串的一个子字符串,从beginIndex开始到endIndex结束(不包括endIndex)。
    • 也有一个重载版本 substring(int beginIndex),从beginIndex到字符串末尾。
  4. contains(CharSequence s):

    • 检查字符串是否包含指定的字符序列。
  5. indexOf(String str):

    • 返回指定字符串第一次出现的索引位置,如果不存在则返回-1。
    • 也有一个重载版本 indexOf(String str, int fromIndex),从指定位置开始搜索。
  6. lastIndexOf(String str):

    • 返回指定字符串最后一次出现的索引位置,如果不存在则返回-1。
    • 也有一个重载版本 lastIndexOf(String str, int fromIndex),从指定位置开始反向搜索。
  7. equals(Object anotherObject):

    • 比较两个字符串的内容是否相等。
  8. equalsIgnoreCase(String anotherString):

    • 比较两个字符串的内容是否相等,忽略大小写。
  9. startsWith(String prefix):

    • 检查字符串是否以指定的前缀开始。
  10. endsWith(String suffix):

    • 检查字符串是否以指定的后缀结束。
  11. toLowerCase():

    • 将字符串中的所有字符转换为小写。
  12. toUpperCase():

    • 将字符串中的所有字符转换为大写。
  13. trim():

    • 返回一个新字符串,它是通过删除原始字符串的首尾空白得到的。
  14. replace(char oldChar, char newChar):

    • 返回一个新字符串,它是通过替换原始字符串中的某些字符得到的。
  15. replaceAll(String regex, String replacement):

    • 使用给定的替换将与给定的正则表达式匹配的字符串部分替换。
  16. split(String regex):

    • 根据匹配给定正则表达式的方式来拆分字符串。
    • 通常返回一个字符串数组。
  17. isEmpty():

    • 检查字符串是否为空(length() == 0)。
  18. concat(String str):

    • 将指定字符串连接到此字符串的末尾。
  19. intern():

    • 返回字符串的规范表示形式。
  20. format(String format, Object... args):

    • 返回一个使用指定语言环境、格式字符串和参数格式化的新字符串。

链表

在Java中,链表主要通过LinkedList类实现,它是java.util包中的一部分。LinkedList实现了List接口以及Deque接口,因此它不仅支持列表的操作,还支持双端队列的功能。以下是LinkedList的一些常用方法:

作为列表的方法

  1. add(E element):

    • 在链表的末尾添加一个元素。
    • 返回true表示添加成功。
  2. add(int index, E element):

    • 在链表的指定位置插入一个元素。
  3. remove(int index):

    • 移除链表中指定位置的元素。
    • 返回被移除的元素。
  4. remove(Object o):

    • 移除链表中第一次出现的指定元素(如果存在)。
    • 返回true如果元素被成功移除。
  5. get(int index):

    • 获取链表中指定位置的元素。
  6. set(int index, E element):

    • 替换链表中指定位置的元素,返回旧元素。
  7. indexOf(Object o):

    • 返回链表中首次出现的指定元素的索引,如果链表不包含该元素,则返回-1。
  8. lastIndexOf(Object o):

    • 返回链表中最后出现的指定元素的索引,如果链表不包含该元素,则返回-1。
  9. size():

    • 返回链表中的元素个数。
  10. isEmpty():

    • 检查链表是否为空。
    • 返回true如果链表不包含任何元素。

作为双端队列的方法

  1. addFirst(E e):

    • 在链表的开头添加一个元素。
  2. addLast(E e):

    • 在链表的末尾添加一个元素。
  3. removeFirst():

    • 移除并返回链表的第一个元素。
  4. removeLast():

    • 移除并返回链表的最后一个元素。
  5. getFirst():

    • 获取链表的第一个元素。
  6. getLast():

    • 获取链表的最后一个元素。
  7. peekFirst():

    • 查看链表的第一个元素,不移除。
  8. peekLast():

    • 查看链表的最后一个元素,不移除。
  9. pollFirst():

    • 移除并返回链表的第一个元素,如果链表为空,则返回null
  10. pollLast():

    • 移除并返回链表的最后一个元素,如果链表为空,则返回null

迭代和清空

  1. clear():

    • 移除链表中的所有元素。
  2. iterator():

    • 返回一个迭代器,用于在链表中的元素之间进行迭代。
  3. listIterator(int index):

    • 返回一个列表迭代器,允许从指定位置开始访问链表。
  • 36
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值