`
geeksun
  • 浏览: 965297 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

collections类Array和List类的用法

阅读更多

1.  工具类collections用于操作集合类,如List,Set,常用方法有:

1) 排序(Sort)

    使用sort方法可以根据元素的自然顺序 对指定列表按升序进行排序。列表中的所有元素都必须实现 Comparable 接口。此列表内的所有元素都必须是使用指定比较器可相互比较的

double array[] = {112, 111, 23, 456, 231 }; 
for (int i = 0; i < array.length; i++) { 
list.add(new Double(array[i])); 
} 
Collections.sort(list); 
for (int i = 0; i < array.length; i++) { 
   System.out.println(li.get(i)); 
 
//结果:112,111,23,456,231

    2) 混排(Shuffling)

    混排算法所做的正好与 sort 相反: 它打乱在一个 List 中可能有的任何排列的踪迹。也就是说,基于随机源的输入重排该 List, 这样的排列具有相同的可能性(假设随机源是公正的)。这个算法在实现一个碰运气的游戏中是非常有用的。例如,它可被用来混排代表一副牌的 Card 对象的一个 List .另外,在生成测试案例时,它也是十分有用的。

Collections.Shuffling(list) 
double array[] = {112, 111, 23, 456, 231 }; 
for (int i = 0; i < array.length; i++) { 
list.add(new Double(array[i])); 
} 
Collections.shuffle(list); 
for (int i = 0; i < array.length; i++) { 
   System.out.println(li.get(i)); 
} 
//结果:112,111,23,456,231

    3) 反转(Reverse)

    使用Reverse方法可以根据元素的自然顺序 对指定列表按降序进行排序。

Collections.reverse(list) 
double array[] = {112, 111, 23, 456, 231 }; 
for (int i = 0; i < array.length; i++) { 
list.add(new Double(array[i])); 
} 
Collections. reverse (list); 
for (int i = 0; i < array.length; i++) { 
   System.out.println(li.get(i)); 
} 
//结果:231,456,23,111,112

    4) 替换所以的元素(Fill)

    使用指定元素替换指定列表中的所有元素。

String str[] = {"dd","aa","bb","cc","ee"}; 
for(int j=0;j<str.length;j++){ 
li.add(new String(str[j])); 
} 
Collections.fill(li,"aaa"); 
for (int i = 0; i < li.size(); i++) { 
System.out.println("list[" + i + "]=" + li.get(i)); 

} 
//结果:aaa,aaa,aaa,aaa,aaa

    5) 拷贝(Copy)

    用两个参数,一个目标 List 和一个源 List, 将源的元素拷贝到目标,并覆盖它的内容。目标 List 至少与源一样长。如果它更长,则在目标 List 中的剩余元素不受影响。

    Collections.copy(list,li): 后面一个参数是目标列表 ,前一个是源列表

double array[] = {112, 111, 23, 456, 231 }; 
List list = new ArrayList(); 
List li = new ArrayList(); 
for (int i = 0; i < array.length; i++) { 
list.add(new Double(array[i])); 
} 
double arr[] = {1131,333}; 
String str[] = {"dd","aa","bb","cc","ee"}; 
for(int j=0;j<arr.length;j++){ 
li.add(new Double(arr[j])); 
} 
Collections.copy(list,li); 
for (int i = 0; i <list.size(); i++) { 
System.out.println("list[" + i + "]=" + list.get(i)); 
} 
//结果:1131,333,23,456,231

    6) 返回Collections中最小元素(min)

    根据指定比较器产生的顺序,返回给定 collection 的最小元素。collection 中的所有元素都必须是通过指定比较器可相互比较的

Collections.min(list) 
double array[] = {112, 111, 23, 456, 231 }; 
List list = new ArrayList(); 
for (int i = 0; i < array.length; i++) { 
list.add(new Double(array[i])); 
} 
Collections.min(list); 
for (int i = 0; i <list.size(); i++) { 
System.out.println("list[" + i + "]=" + list.get(i)); 
} 
//结果:23

      7) 返回Collections中最大元素(max)

    根据指定比较器产生的顺序,返回给定 collection 的最大元素。collection 中的所有元素都必须是通过指定比较器可相互比较的

Collections.max(list) 
double array[] = {112, 111, 23, 456, 231 }; 
List list = new ArrayList(); 
for (int i = 0; i < array.length; i++) { 
list.add(new Double(array[i])); 
} 
Collections.max(list); 
for (int i = 0; i <list.size(); i++) { 
System.out.println("list[" + i + "]=" + list.get(i)); 
} 
//结果:456

    8) lastIndexOfSubList

    返回指定源列表中最后一次出现指定目标列表的起始位置,即按从后到前的顺序返回子List在父List中的索引位置。

int count = Collections.lastIndexOfSubList(list,li); 
double array[] = {112, 111, 23, 456, 231 }; 
List list = new ArrayList(); 
List li = new ArrayList(); 
for (int i = 0; i < array.length; i++) { 
list.add(new Double(array[i])); 
} 
double arr[] = {111}; 
String str[] = {"dd","aa","bb","cc","ee"}; 
for(int j=0;j<arr.length;j++){ 
li.add(new Double(arr[j])); 
} 
Int locations = Collections. lastIndexOfSubList (list,li); 
System.out.println(“===”+ locations); 
//结果 3

    9) IndexOfSubList

    返回指定源列表中第一次出现指定目标列表的起始位置

int count = Collections.indexOfSubList(list,li); 
double array[] = {112, 111, 23, 456, 231 }; 
List list = new ArrayList(); 
List li = new ArrayList(); 
for (int i = 0; i < array.length; i++) { 
list.add(new Double(array[i])); 
} 
double arr[] = {111}; 
String str[] = {"dd","aa","bb","cc","ee"}; 
for(int j=0;j<arr.length;j++){ 
li.add(new Double(arr[j])); 
} 
Int locations = Collections.indexOfSubList(list,li); 
System.out.println(“===”+ locations); 
//结果 1

    10) Rotate

    根据指定的距离循环移动指定列表中的元素

    Collections.rotate(list,-1);

    如果是负数,则正向移动,正数则方向移动

double array[] = {112, 111, 23, 456, 231 }; 
List list = new ArrayList(); 
for (int i = 0; i < array.length; i++) { 
list.add(new Double(array[i])); 
} 
Collections.rotate(list,-1); 
for (int i = 0; i <list.size(); i++) { 
System.out.println("list[" + i + "]=" + list.get(i)); 
} 
//结果:111,23,456,231,112

 


2.  接口List的subList(int fromIndex, int toIndex)返回一个子List,该List中的元素从fromIndex开始,到toIndex为止.

 

分享到:
评论

相关推荐

    Collection与Collections,Array与Arrays的区别

    Collection与Collections,Array与Arrays的...Collection和Array是Java中两个基本的数据结构,而Collections和Arrays是两个静态类,提供了对集合和数组的各种操作。了解他们之间的区别对于Java开发人员来说非常重要。

    C# Array和ArrayList,List区别

    - 提供了更多的方法和属性,如 `Count`、`Find`、`Remove` 等。 #### 四、Array、ArrayList 与 List 之间的转换 **Array 转换为 ArrayList** 可以使用 `ToArray` 方法将 `ArrayList` 转换为 `Array`: ```csharp...

    java基础之Collection与Collections和Array与Arrays的区别

    Java 基础之 Collection 与 Collections 和 Array 与 Arrays 的区别 Collection 是 Java.util 下的一个接口,它是各种集合结构的父接口。继承与他的接口主要有 Set 和 List。Collection 是一个抽象概念,不能直接...

    Collections 随机排序方法Shuffle源码说明

    `Collections.shuffle()`方法位于`java.util.Collections`类中,它接受一个`List`类型的参数,并对其进行原地排序。这意味着它不会创建新的列表,而是直接修改输入的列表,将元素的顺序随机打乱。源码如下: ```...

    .net(c#)中Array和ArrayList的异同点

    在.NET Framework中,C#提供了多种集合类型来存储和操作数据。其中,Array与ArrayList是两种常见的集合形式,...在现代开发中,推荐使用泛型集合如`List&lt;T&gt;`来代替非泛型的ArrayList,以获得更好的类型安全性和性能。

    Java集合类List-Set-Map的区别和联系.doc

    Java 集合类 List-Set-Map 的区别和联系 Java 集合类 List、Set 和 Map 是 Java 语言中最基本的集合类,它们之间存在着紧密的...了解它们的特点和区别可以帮助我们更好地选择和使用集合类,提高程序的效率和可读性。

    Array sort.rar

    通过学习和理解这些源码,你可以更深入地了解`Collections`数据结构的灵活性,以及`Array.Sort()`方法的用法。这将有助于你在实际开发中有效地组织和操作数据,提高代码的效率和可读性。无论是简单的数据处理还是...

    Delphi.Collections-1.1.1.zip

    7. **Generics.Collections**: Delphi 2009引入了泛型,Generics.Collections模块提供了一些泛型版本的集合类,如TList、TDictionary, TValue&gt;等,增强了类型安全性和代码重用性。 8. **Samples**: 提供的"Samples...

    C# System.Collections 非泛型接口方法解析.pdf

    在C#编程中,System.Collections命名空间包含了许多非泛型集合接口,这些接口是.NET框架早期版本的基础,尽管现在泛型集合接口(如`IEnumerable&lt;T&gt;`)更为常用,但理解非泛型接口对于维护旧代码或处理特定场景仍然很...

    10个Java经典的List面试题

    List 中只有 Vector 是线程安全的,其它 List 实现类需要使用 Collections.synchronizedList() 方法来实现线程安全。 8. 怎么给 List 排序? List 可以使用自身的 sort 方法,或者使用 Collections.sort() 方法来...

    C#中的集合示例(Array,ArrayList,Hashtable,List)

    List提供了许多便利的方法,如Add、Remove、Insert、IndexOf等,便于操作和管理列表。 ### 总结 在C#中,选择合适的集合类型取决于具体的需求。Array适用于已知大小且元素类型固定的情况;ArrayList在需要动态增长...

    java 数组转list.docx

    如果需要对转换后的 List 进行修改操作,可以使用方法 3 或方法 4。 将数组转换为 List 是 Java 编程中的一种常见操作。了解不同的转换方法可以帮助开发者更好地选择合适的方法来满足不同的需求。

    java中List的用法和实例详解

    Java提供了一些实现List接口的类,如ArrayList、LinkedList和Vector。 1. ArrayList: 基于动态数组实现,适合随机访问但插入和删除效率较低。由于其内部是数组,因此索引访问速度快。 2. LinkedList: 基于双向链表...

    Java.util.Collection类的学习.pdf

    * 混排(Shuffling):使用shuffle方法可以打乱在一个List中的任何排列的踪迹。 * 反转(Reverse):使用reverse方法可以根据元素的自然顺序对指定列表按降序进行排序。 * 替换所有元素(Fill):使用fill方法可以...

    解析C#中[],List,Array,ArrayList的区别及应用

    Array 类提供了一些方法来操作数组,如SetValue和GetValue,但不像List那样提供丰富的成员方法。 4. ArrayList: ArrayList 是System.Collections命名空间内的类,它是一个非泛型的列表,可以存储任意类型的对象。...

    Java 在 Array 和 Set 之间进行转换的示例.rar

    在Java编程语言中,Array和...了解这些转换方法和特性后,开发者可以根据项目需求灵活地在Array和Set之间切换,优化代码性能和功能。在处理数据结构时,选择合适的容器是非常关键的,这直接影响到程序的效率和可读性。

    java集合类的基本用法

    `Collections`类提供了一组静态方法来操作和处理`Collection`接口的实现类实例,例如排序、填充等。 **示例代码解析**: ```java Collections.fill(list, "Fill"); ``` 这行代码将`List`中的所有元素替换为"Fill"。...

    10个Java经典的List面试题!.pdf

    可以使用toArray()方法将List转换为Array,也可以使用Arrays.asList()方法将Array转换为List。需要注意的是,Arrays.asList()方法返回的List是固定的,不可以添加或删除元素。如果需要添加或删除元素,可以使用new ...

    集合类Array List HashTable实例操作练习

    ArrayList的使用要包含System.Collections命名空间,并提供了Capacity和Count两个属性以及一系列操作元素的方法。 ArrayList添加元素的方法包括Add()、AddRange()。Add()方法用于添加单个元素到ArrayList的末尾,而...

    VS(C#)中List用法.pdf

    以下是一些`List&lt;T&gt;`的基础用法和常用方法: 1. **初始化**: - `List&lt;T&gt; mList = new List();` 创建一个空的`List&lt;T&gt;`实例,其中`T`是你希望存储的元素类型。 - `List&lt;T&gt; testList = new List(IEnumerable&lt;T&gt; ...

Global site tag (gtag.js) - Google Analytics