package com;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import java.util.List;
import java.util.NoSuchElementException;
public class Test3 {
/**
* 计算链表、数组列表或数组中最大元素
* @param c
* @return
*/
public static <T extends Comparable> T max(Collection<T> c) {
if (c.isEmpty())
throw new NoSuchElementException();
Iterator<T> iter = c.iterator();
T largest = iter.next();
while (iter.hasNext()) {
T next = iter.next();
if (largest.compareTo(next) < 0)
largest = next;
}
return largest;
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
List<Integer> list = new ArrayList<Integer>();
list.add(1);
list.add(2);
list.add(3);
list.add(111);
list.add(8787878);
System.out.println(max(list));
List<String> lista = new ArrayList<String>();
lista.add("555");
lista.add("2");
lista.add("3");
lista.add("111");
lista.add("999");
System.out.println(max(lista));
}
}
分享到:
相关推荐
在Java编程语言中,动态数组链表是一种常见的数据结构,它结合了数组和链表的特点,既能快速访问数组中的元素,又能方便地进行插入和删除操作。本文将深入探讨Java中实现动态数组链表的关键概念、操作以及其实现方式...
Java 中的数组和链表是两种常用的数据结构,它们都可以用来存储和操作数据。然而,在实际开发中,选择合适的数据结构和遍历方式对程序的性能和效率有着非常重要的影响。下面我们将对 Java 中数组和链表的三种遍历...
Java 中链表和数组的区别 Java 中链表和数组都是数据结构,但它们有着本质的差异。在这篇文章中,我们将探讨链表和数组的区别,並探讨它们各自的特点、优缺点和应用场景。 数组 数组是一种线性结构,可以直接索引...
尽管Java提供了内置的Map接口(如HashMap、TreeMap等),但有时为了学习或特定需求,我们可能会用基本类型的数据结构来实现Map。这篇博客文章(链接已省略)可能介绍了如何通过二维数组实现这个概念。 首先,我们...
这意味着你可以通过下标直接访问数组中的任一元素,时间复杂度为O(1)。然而,数组在创建时就需要确定大小,并且一旦定义,大小就不能改变。如果需要插入或删除元素,数组需要移动大量的元素,导致插入和删除操作的...
与数组不同,链表中的元素在内存中并非连续存储,因此插入和删除操作通常比数组更高效。然而,使用数组来模拟链表可能在某些情况下具有一定的优势,例如在特定场景下可以利用数组的索引访问特性。 首先,我们需要...
纯手写 java 数组模拟链表约瑟夫环问题 有很大更改空间 仅供参考
在本文中,我们将详细介绍如何模拟Java的HashMap集合,使用数组和链表来实现Hash表的存储。我们将从基本概念开始,逐步深入到HashMap的实现细节中。 什么是HashMap? HashMap是一种基于散列表的数据结构,用于存储...
在Java中,数组可以是一维、二维或多维的。项目中的实现可能包括创建自定义数组类,提供动态扩展和优化查找、插入、删除操作的方法。 链表是一种线性数据结构,其元素在内存中并非顺序存储。链表由节点组成,每个...
- **删除操作复杂**:当需要删除数组中的某个元素时,特别是删除位于数组开头或中间位置的元素时,需要将后续所有元素向前移动一位,这会消耗较多的时间。 - **插入操作不便**:同样地,如果需要在数组中插入一个...
在Java中,我们通常使用数组或链表来实现线性表。本话题聚焦于使用动态数组来实现线性表,这是一种常见的数据结构实现方式,因为它既保留了数组的高效访问特性,又能灵活地调整大小以适应数据的变化。 动态数组,也...
首先,我们看到类`MyHashMap`包含一个名为`Entry`的内部类,`Entry`类代表数组中的每个元素,它包含了键(K)和值(V),以及指向下一个元素的引用(next)。这个设计类似于哈希表中的桶(bucket)概念,每个桶可以...
在本资源中,提供了一个示例代码,用于判断二维数组中是否包含某个数字。该示例代码使用了从左下角开始的遍历方式,通过比较目标数字和当前元素的大小来确定下一步的搜索方向。 二、链表相关知识点 1. 、链表的...
3. **插入和删除效率低**:在数组中插入或删除元素时,需要移动大量元素来腾出或填补空间,这导致操作的时间复杂度较高,通常为O(n),其中n是数组大小。 4. **内存浪费**:数组需要预先分配连续的内存空间,即使...
Java中的ArrayList类就是基于动态数组实现的,它在扩容时会创建一个新的更大容量的数组,然后将原有元素复制到新数组中。这个过程的时间复杂度为O(n),其中n为原数组的元素数量。因此,频繁的扩容操作会带来性能开销...
在Java中,HashMap的实现方式有多种,本文将介绍使用数组和链表的方式简单实现HashMap的增删改功能。 HashMap的数据结构 HashMap的数据结构主要由三个部分组成:数组、链表和红黑树。数组用于存储键值对,链表用于...
这个过程涉及到复制现有数组到一个更大的新数组,然后将旧数组中的元素逐一迁移到新数组中。扩容通常按照一定的比例进行,如原容量的1.5倍或2倍。 扩容操作是ArrayList性能的关键因素之一。虽然它提供了便利,但...
本文通过实际代码执行结果来具体分析数组和链表的执行效率问题,代码编写采用 Java 集合框架中的 ArrayList 和 LinkedList 来分别作为数组和链表的代表,编写一个测试 ArrayList 和 LinkedList 随机访问数据元素的...
Java数组堆栈 Java数组堆栈是指使用Java编程语言实现的基于数组的堆栈数据结构。该数据结构提供了基本的堆栈操作,如push、pop、peek、isEmpty、exist等方法。下面是对Java数组堆栈的详细解释。 标题: Java数组...