java集合(工具类Arrays)

/*

* Arrays:用于操作数组的工具类,里面都是静态方法。

* toString方法:返回指定数组内容的字符串表示形式。

* asList方法:返回一个受指定数组支持的固定大小的列表

* toArray方法:将集合变成数组。

*/

import java.applet.*;

import java.util.ArrayList;

import java.util.Arrays;

import java.util.List;

public class CollectionsDemo3 {

public static void main(String[] args) {

/*int arr[]={2,4,5};

sop(Arrays.toString(arr));

String[] arr1={"abc","cc","kkk"};

/*

* 将数组变成集合,可以用集合的方法操作数组。

* 但是不可以使用集合的增删方法,因为数组的长度是不同的。

* 会发生不支持操作异常。

List<String> list=Arrays.asList(arr1);

sop(list.contains("cc"));

//list.add("rew");

sop(list);*/

/*

* 如果数组中的元素都是对象,那么变成集合后所有元素都会变成集合中的元素。

* 如果数组中的元素都是基本数据,那么变成集合后,该数组会变成元素。

*

Integer [] nums={2,4,5};

List li=Arrays.asList(nums);

sop(li);*/

/*

* 集合变成数组。

* 1.当指定的类型的数组长度小于了集合的size,那么该方法内部会创建一个新的数组,长度为size。

* 2.当指定的类型的数组大于乐集合的size,就不会创建新数组,而是使用传递进来的数组,多余的数会用null补充。

* 所以创建一个size相等数组最优。

* 为什么要将集合变成数组?

* 为了限定对元素的操作,不需要进行增删操作。

*/

ArrayList<String> a1=new ArrayList<String>();

a1.add("abc1");

a1.add("abc2");

a1.add("abc3");

String[] arr=a1.toArray(new String[1]);

sop(arr[1]);

sop(Arrays.toString(arr));

}

public static <T> void sop(T t)

{

System.out.println(t);

}

}

import java.util.*;

/*

* for(String s:a1)

sop(s);

1.5版本出现的新的输出方法,代替原来的迭代器输出List集合中的元素,但是不能做任何修改动作。

必须要有遍历的目标。

*/

public class CollectionsDemo4 {

public static void main(String[] args) {

ArrayList<String> a1=new ArrayList<String>();

a1.add("abc1");

a1.add("abc2");

a1.add("abc3");

for(String s:a1)

sop(s);

HashMap<Integer,String> hm=new HashMap<Integer,String>();

hm.put(1,"a");

hm.put(2,"b");

hm.put(3,"c");

for(Integer i:hm.keySet())

sop(i+"::"+hm.get(i));

for(Map.Entry<Integer,String> me:hm.entrySet())

sop(me+"::"+"--"+me.getKey()+me.getValue());

}

public static <T> void sop(T t)

{

System.out.println(t);

}

}

/*

* 1.5版本新特性,1.可变参数:

* 就是一种数组参数的简写形式,不用每一次都手动的建立数组对象。

* 只要将这些要操作元素作为参数传递即可。

* 隐式将这些参数封装成了数组。

* 注意:可变参数一定要定义在参数列表的最后。

* 2.StaticImport  静态导入。

* 当类名重名时,需要指定具体的包名。

* 当方法名重名时,指定具备所属的对象或者类。

*/

import java.util.*;//导入util中的所有的类

import static java.lang.System.*;

import static  java.util.Arrays.*;//导入Arrays这个类中所有的静态成员。

public class CollectionsDemo5 {

public static void main(String[] args) {

//show(2,3,45,5);

int[] arr={3,1,5};

//静态导入之后,可以省略类名的书写,简化代码

sort(arr);

//

sop(Arrays.toString(arr));

int index=binarySearch(arr, 1);

sop(index);

}

public static void show(int... arr)

{

sop(arr);

}

public static <T> void sop(T t)

{

out.println(t);

}

}

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-01 04:15:39

java集合(工具类Arrays)的相关文章

黑马程序员——Java集合工具类和泛型

Collections工具类和泛型 Collections和Collection Collections和Collection是不同的,Collections是工具类,用来操作集合的,而Collection是集合接口.Collections中有一系列的静态方法用来操作集合,但是不能更改集合内容.比如不能set()不能remove()元素,可以替换全部元素或者添加同一个元素. static List<String> list =Arrays .asList("one Two three

java集合工具类---Collections/Arrays

/* *Collections用于操作List/Set的工具类 *Arrays用于操作数组的工具类 */ package pack; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.Comparator; import java.util.List; import java.util.TreeSet; public class Main { pu

java集合(工具类Collections)

/* *1 Collections.sort(list集合,比较器); *sort方法不仅可以对list进行自然排序,还可以根据需求定义比较器进行排序. *sort方法不能对Set集合进行排序. *binarySearch方法对集合进行插入,且保证集合有序,如果查找的元素不存在 *则返回比该元素大一个位置的元素的下标加一的相反数,他的原理是折半查找. *fill方法可以将list集合中所有的元素替换成指定元素. *练习,将集合中部分元素替换成指定元素. *replaceAll方法将某一元素替换成

集合工具类 - CollectionUtil.java

集合工具类,提供数组转LIST.数组转SET.合并集合.计算笛卡儿积等方法. 源码如下:(点击下载 -  CollectionUtil.java.ArrayUtil.java.commons-lang-2.6.jar.commons-collections4-4.0.jar) 1 import java.util.ArrayList; 2 import java.util.Arrays; 3 import java.util.Collection; 4 import java.util.Link

Java学习笔记七——数组工具类Arrays

数组工具类Arrays Java提供的Arrays类里包含的一些static修饰的方法可以直接操作数组.若将里面的方法用熟的话,那开发效率会大大提高.下面介绍其中的方法. List<T> asList(T... a) 作用:将指定数组或数组元素,转换成固定大小的List. 用法: String[] strArr = { "aaa", "bbb", "vvv" }; //用法1:参数是数组引用 List<String> li

Java常用工具类集合

数据库连接工具类 仅仅获得连接对象 ConnDB.java package com.util; import java.sql.Connection; import java.sql.DriverManager; /** * 数据库连接工具类——仅仅获得连接对象 * */ public class ConnDB { private static Connection conn = null; private static final String DRIVER_NAME = "com.mysql

Java学习:数组工具类Arrays

数组工具类Arrays java.util.Arrays是一个与数组相关的工具类,里面提供了大量的静态方法,用来实现数组常见的操作. public static String toString(数组): 将参数数组变成字符串(按照默认格式:[元素1,元素2,元素3...]) public static void sort(数组): 按照默认升序(从小到大)对数组的元素进行排序. 备注:1.如果是数组,sort默认按照升序从小到大2.如果是字符串,sort默认按照字母升序3.如果是自定义的类型,那

工具类Arrays.asList()方法把数组转换成集合

工具类Arrays.asList()方法把数组转换成集合 不能使用其修改集合相关的方法,它的add/remove/clear方法会抛出UnsupportedOperationException() 问题分析: 1.测试 被注释的三行可以分别解开注释,运行后确实出现了上述所说的异常 2.看源码 似乎没有问题.往下看 然而实际上我们点进到ArrayList发现,其实ArrayList并不是我们平时用的ArrayList.而是Arrays里面的一个内部类.而且这个内部类没有add,clear,remo

java map接口,可变参数,Collections集合工具类

map接口的实现类存储成对的值,键--值.通过键来找到对应的值. Collection中的集合称为单列集合,Map中的集合称为双列集合 Map中常用的集合为HashMap集合.LinkedHashMap集合. HashMap<K,V>:存储数据采用的哈希表结构,元素的存取顺序不能保证一致.由于要保证键的唯一.不重复,需要重写键的hashCode()方法.equals()方法. LinkedHashMap<K,V>:HashMap下有个子类LinkedHashMap,存储数据采用的哈

黑马程序员-集合工具类和1.5新特性

集合框架的工具类:collecttions Collections 的方法全是静态的 List没有排序功能,所以java定义了Collections工具类. 比较器无法传给list,只能传给Set.但是集合工具类有此方法 1.排序: comparable:    sort(List<T> list) 根据元素的自然顺序 对指定列表按升序进行排序. comparator:    sort(List<T> list, Comparator<? super T> c) 根据比