1.数组列数据的添加与删除:
List list = new LinkedList();
list = new ArrayList();
产生一个数组列对象并建立双向连表。
连表分为单向连表和双向连表;单向连表就像:a只能到b,b不能到c;双向连表就像:a可以到b,b也可以到a。
双向连表的作用是:可以在数列的任何地方插入数据。
list.add(0, "b");
在数组列里添加数据,0表示数组里的下标,"b"表示添加的数据。
建立双向连表后可以用 0 的变化来在数列的任何地方插入数据。
如:在数组列的最后插入数据 list.add(list.size(), "any");
b = list.remove("b");
b = list.remove(0);
删除数列中的数据,可以用以上两种方法来删除。一种是找对象,一种是找下标。
2.排序:
String[] strArray = new String[] {"z", "a", "C"};
List list = Arrays.asList(strArray);
一个数组列对象并且是和strArray的大小一样。
Collections.sort(list);
按照ASCII的升序排序。
Collections.sort(list, String.CASE_INSENSITIVE_ORDER);
按照英文字母顺序排序,忽略大小写。
Collections.sort(list, Collections.reverseOrder());
按照ASCII的降序排序。
Collections.sort(list, String.CASE_INSENSITIVE_ORDER);
Collections.reverse(list);
先按照英文字母顺序排序,然后再用降序排序。
3.list的操作:
list1.retainAll(list2);
只保留list1和list2中相同的部分(交集)?
list1.subList(newSize, list1.size()).clear();
返回newSize到list1.size之间的部分。
方法总结:
list.add():添加数据 list.remove():删除数据
Arrays.asList():指定大小的列
Collections.sort():按ASCII升序排序
Collections.reverseOrder()和Collections.reverse():按ASCII降序排序,区别在于参数
list.addAll():添加()所有数据 list.removeAll():删除()所有数据
list.retainAll():保留交集
list.subList(size1, size2): 返回size1到size2之间的数据
相关推荐
7. **集合(Collection)**:Java的`java.util.Collection`接口是所有集合类的父接口,包括单值容器如`Set`和多值容器如`List`。`Set`不允许重复元素,而`List`保持元素顺序。 8. **树(Tree)**:二叉树是一种重要...
Java中的`java.util.TreeSet`和`java.util.TreeMap`是基于红黑树实现的。二叉搜索树(BST)、AVL树、B树和B+树也是常见的树形数据结构。 8. **图**:由节点和边构成的数据结构,用于表示对象之间的关系。Java中可以...
- **哈希表**:C++的std::unordered_map和Java的java.util.HashMap提供高效的键值对存储。 2. **算法**: - **排序算法**:包括冒泡排序、插入排序、选择排序、快速排序、归并排序、堆排序等。C、C++和Java都可...
Java数据结构和算法是计算机科学中的核心概念,对于任何Java开发者来说,无论是初学者还是资深专业人士,理解并熟练掌握它们都是至关重要的。数据结构是存储和组织数据的方式,而算法则是解决问题或执行任务的特定...
6. **排序和查找算法**:Java中常见的排序算法有冒泡排序、选择排序、插入排序、快速排序、归并排序、堆排序等。查找算法包括线性查找、二分查找、哈希查找等。这些算法在处理大量数据时有着重要作用。 7. **递归和...
在编程领域,尤其是在Java开发中,理解和掌握数据结构与算法是至关重要的。这些核心概念构成了软件工程的基础,能够帮助我们高效地处理数据,优化程序性能。本资源包含"JAVA数据结构与算法"的源代码,提供了具体实现...
4. **集合与列表**:ArrayList和LinkedList是Java集合框架中List接口的实现,它们分别基于动态数组和链表实现。理解它们的性能差异和适用场景是关键。 5. **映射与散列**:HashMap是Java中最常用的数据结构之一,它...
Java的`java.util.Stack`和`java.util.Queue`接口提供了对应的实现。 4. **集合框架**:Java的集合框架包括List、Set和Map接口,以及ArrayList、LinkedList、HashSet、HashMap等具体实现。这些接口和类提供了丰富的...
Java中的LinkedList类实现了List接口,提供了链表操作的支持。 3. **栈**:栈是一种后进先出(LIFO)的数据结构,常用于函数调用、表达式求值等场景。Java的java.util.Stack类是基于Vector实现的栈。 4. **队列**...
在算法中,递归常用于树和图的遍历,以及解决分治策略中的问题,如快速排序和斐波那契数列。 五至十涉及的数据结构和算法更加复杂,包括哈希表(高效查找和存储)、高级排序(快速排序、归并排序等)、二叉树(二分...
10. **哈希表(HashMap)**:提供O(1)的查找和插入时间复杂度,是Java中的重要数据结构,由java.util.HashMap类实现。 11. **字符串处理**:字符串在Java中是不可变对象,了解字符串的拼接、查找、替换等操作以及...
Java中的LinkedList类实现了List接口,支持快速插入和删除,但在随机访问元素时效率较低。 3. 栈:栈是一种后进先出(LIFO)的数据结构,可以使用ArrayDeque类或者java.util.Stack类来实现。栈在函数调用、表达式求...
栈是后进先出(LIFO)的数据结构,Java中的java.util.Stack类提供了栈的实现,包括push、pop和peek等方法。 6. 哈希表: 哈希表提供快速的存取和查找功能,基于键值对存储。Java的HashMap和Hashtable类实现了哈希表...
Java中的LinkedList类实现了List接口,支持高效的插入和删除操作,但随机访问性能较差。 3. **栈**:栈是一种后进先出(LIFO)的数据结构,用于实现函数调用、表达式求值等。Java的java.util.Stack类提供了压栈、弹...
在Java中,核心类是java.lang.Class,它代表正在运行的Java应用程序中的类和接口。 20. 得到Class的三个过程是什么? 通过类的名称获取、通过对象实例获取、通过Class类的静态方法获取。 21. 如何唤起类中的一个...
- **队列**:先进先出(FIFO)的数据结构,Java的`java.util.Queue`接口和其实现如`ArrayDeque`提供队列操作。 - **队列的变种:优先队列(PriorityQueue)**,根据元素的优先级进行出队。 - **哈希表**(HashMap...
Java中的LinkedList类实现了List接口,提供了增删改查等操作。链表对于频繁的插入和删除操作比数组更高效。 3. **栈**:栈是一种后进先出(LIFO)的数据结构,Java的java.util.Stack类提供了栈的操作。栈常用于函数...
- **队列**:Java中的`java.util.Queue`接口及其实现,如`LinkedList`和`ArrayDeque`。 2. **算法**: - **排序算法**:冒泡排序、插入排序、选择排序、快速排序、归并排序、堆排序、计数排序、桶排序、基数排序...
- Java中的`Collections.sort()`方法用于对List接口的实现进行排序,`Arrays.sort()`则适用于数组。 2. **搜索算法**: - 二分查找:在已排序的数组中寻找目标值,Java实现通常使用循环或递归。 - 广度优先搜索...
Java中的LinkedList类实现了List接口,提供了高效的插入和删除操作,但在随机访问方面不如数组。 3. **栈和队列**:栈是一种后进先出(LIFO)的数据结构,Java的java.util.Stack类提供了栈的操作。队列则是先进先出...