集合框架的工具类

Array —将数组转为其他形式  

Arrays:集合框架的工具类,里面的方法都是静态的。

(1) Arrays.toString(arr)  将数组转为字符串。

(2) Arrays.asList(arr)     将数组转为List集合。

好处:可以使用集合的方法操作数组中的元素。注意:数组的长度是固定的,所以对于集合的增删方法是不可以使用的。否则会发生异常。

public class ArraysDemo {

    public static void main(String[] args) {
        String[] arr={"3","1"};
        System.out.println(Arrays.toString(arr)); //输出[3, 1]

        List<String> list=Arrays.asList(arr);  //数组转集合
        boolean b=list.contains("1");
        System.out.println(b);
    }

    //toString的经典实现
     public static String toString(int[] a) {
            if (a == null)
                return "null";
            int iMax = a.length - 1;
            if (iMax == -1)
                return "[]";

            StringBuilder b = new StringBuilder();
            b.append(‘[‘);
            for (int i = 0; ; i++) {//中间省略判断,提高效率
                b.append(a[i]);
                if (i == iMax)
                    return b.append(‘]‘).toString();
                b.append(", ");
            }
        }

}

toArray—将List集合转成数组形式

ArrayList提供了一个将List转为数组的一个非常方便的方法toArray。toArray有两个重载的方法:

1.list.toArray();

2.list.toArray(T[] a);

对于第一个重载方法,是将list直接转为Object[] 数组;

第二种方法是将list转化为你所需要类型的数组,当然我们用的时候会转化为与list内容相同的类型。
String[] arr=list.toArray(new String[list.size()]); //传入指定的字符串数组

Collections

1.排序操作

2.查找替换

forEach

foreach语句:

* 格式:
* for(类型 变量:Collection集合(数组))
* {
* }
*
* 传统for和高级for的区别?
* 传统for可以完成对语句执行很多次,因为可以定义控制循环变量和条件
*
* 高级for是一种简化形式。
* 它必须有遍历的目标。该目标是数组,要么是Collection集合。
*
* 对数组的遍历如果仅仅是获取数组中的元素,可以使用高级for
* 如果要对数组的角标进行操作建议使用传统for。

可以使用高级for遍历map集合吗?

不能直接使用,但是可以将map转成单列的set后再使用。

Map<Integer,String>map=new HashMap<Integer,String>();
        map.put(1, "haha");
        map.put(2, "hehe");

        for(Map.Entry<Integer, String> me:map.entrySet()){
            Integer key=me.getKey();
            String value=me.getValue();
            System.out.println(key+":"+value);
        }

                                                                                                                  

时间: 2024-08-06 11:54:48

集合框架的工具类的相关文章

Java:集合框架的工具类

集合框架的工具类 Arrays:里面都是静态方法,直接用来对各种集合进行操作的公有方法. Collections:里面都是静态方法,直接用来对各种集合进行操作的公有方法. 包括: 1.asList将数组变成list集合: static <T> List<T> asList(T... a) 返回一个受指定数组支持的固定大小的列表. //例子1: import java.util.*; class ArraysTest { public static void sop(Object o

【JAVA集合框架之工具类】

一.概述 JAVA集合框架中有两个很重要的工具类,一个是Collections,另一个是Arrays.分别封装了对集合的操作方法和对数组的操作方法,这些操作方法使得程序员的开发更加高效. public class Collections extends Object 全类名:java.util.Collections public class Arrays extends Object 全类名:java.util.Arrays 二.Collections类. 1.Collections.sort

集合中的工具类Collections和Arrays

集合框架的工具类: Collections: 方法sort(): List<String> list = new ArrayList<String>();        list.add("gfhd");        list.add("abc");        list.add("a");        list.add("aaaadfs");sort(list);//按自然顺序排列,String

13弹;集合中的工具类Collections和Arrays

集合框架的工具类: Collections: 方法sort() System.out.println(list); // 自然排序 Collections.sort(list); System.out.println(list); // 按照字符串长度排序,再自然排序 Collections.sort(list,new Compare()); System.out.println(list); binarySearch 方法 前提是此集合必须是有序的 返回插入位置 角标的负数再减一: fill方

自定义MVC框架之工具类-图像处理类

截止目前已经改造了4个类: ubuntu:通过封装验证码类库一步步安装php的gd扩展 自定义MVC框架之工具类-分页类的封装 自定义MVC框架之工具类-文件上传类 图像处理类: 1,图片加水印处理( 支持任意位置与九宫格位置 ) 2,图片缩放处理( 等比缩放,不变形裁剪 ) 1 <?php 2 3 class Image{ 4 //文件路径 5 protected $path; 6 //是否允许随机文件名称 7 protected $enableRandName; 8 //文件类型 9 pro

自定义MVC框架之工具类-模型类

截止目前已经改造了5个类: ubuntu:通过封装验证码类库一步步安装php的gd扩展 自定义MVC框架之工具类-分页类的封装 自定义MVC框架之工具类-文件上传类 自定义MVC框架之工具类-图像处理类 这个模型类支持以下功能: >连贯操作,js叫链式操作,连贯操作的函数可以打乱顺序,最后一个函数必须是执行语句的那个函数,如select, delete, update, add等 如 $db->table( 'user' )->where( 'id=1' )->select() 等

Map集合、HashMap集合、LinkedHashMap集合、Hashtable集合、Collections工具类和模拟斗地主洗牌和发牌

1.Map集合概述和特点 * A:Map接口概述  * 查看API可以知道:  * 将键映射到值的对象  * 一个映射不能包含重复的键  * 每个键最多只能映射到一个值 * B:Map接口和Collection接口的不同  * Map是双列的,Collection是单列的  * Map的键唯一,Collection的子体系Set是唯一的  * Map集合的数据结构值针对键有效,跟值无关;Collection集合的数据结构是针对元素有效 2.Map集合的功能概述 * A:Map集合的功能概述  *

Java集合框架之LinkedList类

ArrayList用数组作为其保存元素的数据结构,而LinkedList采用的是链表的数据结构.而ArrayList和LinkedList都是线性表list.但LinkedList并不具备随机访问能力,而ArrayList拥有. 对于链表集合,首先(1)我们使用API里现成的LinkedList类来进行一些分析,之后(2)我们再用自身的java代码实现链表及其LinkedList中相对应的方法. (1)现成API接口的分析使用 定义如下,与ArrayList类似. LinkedList<Stri

自定义MVC框架之工具类-分页类的封装

以前写过一个MVC框架,封装的有点low,经过一段时间的沉淀,打算重新改造下,之前这篇文章封装过一个验证码类. 这次重新改造MVC有几个很大的收获 >全部代码都是用Ubuntu+Vim编写,以前都是windows上开发,这次彻底迷上Ubuntu Linux >裸装php,用php自带的服务器解释执行php,缺哪个扩展就装哪个,最后通过整个MVC框架的开发,把Lamp所有的常用配置与细节搞懂 >通过扩展安装,学习扩展开发与php底层源码分析 总之,终于感觉层次又提升了不少. 分页类代码: