`

Java.util中List 数列和排序

    博客分类:
  • Java
阅读更多

 Java.util中List 数列和排序

 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之间的数据 

分享到:
评论

相关推荐

    Java算法题,数据结构分析和实现.zip

    7. **集合(Collection)**:Java的`java.util.Collection`接口是所有集合类的父接口,包括单值容器如`Set`和多值容器如`List`。`Set`不允许重复元素,而`List`保持元素顺序。 8. **树(Tree)**:二叉树是一种重要...

    java数据结构算法

    Java中的`java.util.TreeSet`和`java.util.TreeMap`是基于红黑树实现的。二叉搜索树(BST)、AVL树、B树和B+树也是常见的树形数据结构。 8. **图**:由节点和边构成的数据结构,用于表示对象之间的关系。Java中可以...

    C、C++、JAVA数据结构与算法电子书

    - **哈希表**:C++的std::unordered_map和Java的java.util.HashMap提供高效的键值对存储。 2. **算法**: - **排序算法**:包括冒泡排序、插入排序、选择排序、快速排序、归并排序、堆排序等。C、C++和Java都可...

    java数据结构和算法

    Java数据结构和算法是计算机科学中的核心概念,对于任何Java开发者来说,无论是初学者还是资深专业人士,理解并熟练掌握它们都是至关重要的。数据结构是存储和组织数据的方式,而算法则是解决问题或执行任务的特定...

    自己根据书C语言版算法数据结构和一些资料,用Java实现其中经典的语法和算法结构.zip

    6. **排序和查找算法**:Java中常见的排序算法有冒泡排序、选择排序、插入排序、快速排序、归并排序、堆排序等。查找算法包括线性查找、二分查找、哈希查找等。这些算法在处理大量数据时有着重要作用。 7. **递归和...

    JAVA数据结构与算法 源代码

    在编程领域,尤其是在Java开发中,理解和掌握数据结构与算法是至关重要的。这些核心概念构成了软件工程的基础,能够帮助我们高效地处理数据,优化程序性能。本资源包含"JAVA数据结构与算法"的源代码,提供了具体实现...

    Java数据结构上机实践指导教程

    4. **集合与列表**:ArrayList和LinkedList是Java集合框架中List接口的实现,它们分别基于动态数组和链表实现。理解它们的性能差异和适用场景是关键。 5. **映射与散列**:HashMap是Java中最常用的数据结构之一,它...

    数据结构与算法分析JAVA语言描述

    Java的`java.util.Stack`和`java.util.Queue`接口提供了对应的实现。 4. **集合框架**:Java的集合框架包括List、Set和Map接口,以及ArrayList、LinkedList、HashSet、HashMap等具体实现。这些接口和类提供了丰富的...

    Java数据结构和算法中文第二版

    Java中的LinkedList类实现了List接口,提供了链表操作的支持。 3. **栈**:栈是一种后进先出(LIFO)的数据结构,常用于函数调用、表达式求值等场景。Java的java.util.Stack类是基于Vector实现的栈。 4. **队列**...

    JAVA算法

    在算法中,递归常用于树和图的遍历,以及解决分治策略中的问题,如快速排序和斐波那契数列。 五至十涉及的数据结构和算法更加复杂,包括哈希表(高效查找和存储)、高级排序(快速排序、归并排序等)、二叉树(二分...

    java算法锦囊必备

    10. **哈希表(HashMap)**:提供O(1)的查找和插入时间复杂度,是Java中的重要数据结构,由java.util.HashMap类实现。 11. **字符串处理**:字符串在Java中是不可变对象,了解字符串的拼接、查找、替换等操作以及...

    JAVA与数据结构算法

    Java中的LinkedList类实现了List接口,支持快速插入和删除,但在随机访问元素时效率较低。 3. 栈:栈是一种后进先出(LIFO)的数据结构,可以使用ArrayDeque类或者java.util.Stack类来实现。栈在函数调用、表达式求...

    数据结构常考知识点(java实现版)

    栈是后进先出(LIFO)的数据结构,Java中的java.util.Stack类提供了栈的实现,包括push、pop和peek等方法。 6. 哈希表: 哈希表提供快速的存取和查找功能,基于键值对存储。Java的HashMap和Hashtable类实现了哈希表...

    数据结构与算法(Java语言描述)

    Java中的LinkedList类实现了List接口,支持高效的插入和删除操作,但随机访问性能较差。 3. **栈**:栈是一种后进先出(LIFO)的数据结构,用于实现函数调用、表达式求值等。Java的java.util.Stack类提供了压栈、弹...

    2014年Java最全面试题以及答案.

    在Java中,核心类是java.lang.Class,它代表正在运行的Java应用程序中的类和接口。 20. 得到Class的三个过程是什么? 通过类的名称获取、通过对象实例获取、通过Class类的静态方法获取。 21. 如何唤起类中的一个...

    Java数据结构和算法

    - **队列**:先进先出(FIFO)的数据结构,Java的`java.util.Queue`接口和其实现如`ArrayDeque`提供队列操作。 - **队列的变种:优先队列(PriorityQueue)**,根据元素的优先级进行出队。 - **哈希表**(HashMap...

    java算法大全

    Java中的LinkedList类实现了List接口,提供了增删改查等操作。链表对于频繁的插入和删除操作比数组更高效。 3. **栈**:栈是一种后进先出(LIFO)的数据结构,Java的java.util.Stack类提供了栈的操作。栈常用于函数...

    用java实现的常用的数据结构与算法,常用笔试面试题等.zip

    - **队列**:Java中的`java.util.Queue`接口及其实现,如`LinkedList`和`ArrayDeque`。 2. **算法**: - **排序算法**:冒泡排序、插入排序、选择排序、快速排序、归并排序、堆排序、计数排序、桶排序、基数排序...

    Leetcode:Leetcode解决方案

    - Java中的`Collections.sort()`方法用于对List接口的实现进行排序,`Arrays.sort()`则适用于数组。 2. **搜索算法**: - 二分查找:在已排序的数组中寻找目标值,Java实现通常使用循环或递归。 - 广度优先搜索...

    数据结构于算法(java版)

    Java中的LinkedList类实现了List接口,提供了高效的插入和删除操作,但在随机访问方面不如数组。 3. **栈和队列**:栈是一种后进先出(LIFO)的数据结构,Java的java.util.Stack类提供了栈的操作。队列则是先进先出...

Global site tag (gtag.js) - Google Analytics