集合框架的工具类:

Collections:

方法sort():

List<String> list = new ArrayList<String>();
        list.add("gfhd");
        list.add("abc");
        list.add("a");
        list.add("aaaadfs");
sort(list);//按自然顺序排列,String类型按字符串第一位比较依次往后比较;

sort(list,new Compare());//按比较器进行排序

比较器:

public class Compare implements Comparator<String>{

public int compare(String o1, String o2) {
     if(o1.length() > o2.length()){
        return 1;
    }
    if(o1.length() < o2.length()){
        return -1;
    }
    return o1.compareTo(o2);
}
}

max(list);//自然顺序最大值

max(list,new Compare());//比较器排序后的最大值

Collections.binarysearch(list,对象);//根据默认sort排序查找对象;binarySearch 方法,前提是此集合必须是有序的

Collections.binarysearch(list,对象,new Compare());//根据比较器排序查找对象;相当于我们调用half方法,折半查找。

Collections.fill(list."你好");//把list集合里的元素替换成 “你好”

Collections.replaceAll(list,"A","B");//把A替换成B;

Collections.reverse(list);//反转集合;

Arrays

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

Arrays.copyOf(arr,index);arr截取的数组,index为截取长度

Arrays.fill(arr,index,index1,A);//将arr里的角标 index--index1(包含index但不包含index1)  的元素全部替换成A,

将数组转换为list集合:

//如果数组中的元素都是对象,那么变成集合时,数组中的元素就直接转换成集合中的元素。
//如果数组中的元素都是基本数据类型,那么会将该数组作为集合中的元素进行存储
int[] arr = {1,2,3,4};
List<int[]> list = Arrays.asList(arr);
System.out.println(list);

Integer[] arr1 = {1,2,3,4};
List<Integer> list1 = Arrays.asList(arr1);
System.out.println(list1);

集合转数组:

* 当指定类型的数组长度小于集合的size,那么该方法内部会创建一个数组长度为size
* 当指定类型的数组长度大于了集合的size,就不会新创建数组,而是使用传递进来的数组。
* 所以创建一个刚刚好的数组最优
 * 为了限定对元素对操作,不需要进行增删了
    String[] arr = list.toArray(new String[list.size()]);
    System.out.println(Arrays.toString(arr));

传统for循环和高级for循环的区别:

高级for有局限性,必须有被遍历的目标。比如打印helloworld一百次。
所以我们在遍历数组的时候希望使用传统for循环。因为传统for循环可以定义角标
foreach:

for(String str:list){

  System.out.println(str);

}

遍历map集合:
HashMap<Integer, String> ha = new HashMap<Integer, String>();
//  实现1:
    Set<Integer> keySet = ha.keySet();
    for(Integer key : keySet){
        System.out.println("key = "+key+"   value = "+ha.get(key));
    }
//  实现2:
    for(Map.Entry<Integer, String> mm : ha.entrySet()){//ha.entrykeySet()获取key集合
        System.out.println("key = "+mm.getKey()+"   value = "+mm.getValue());
    }

可变参数

public static void show(int... arr){//把输入的装进数组里
        System.out.println(arr);
    }
show(2,4,6,7,89);

System.out.println(show);结果为[2,4,6,7,89];

静态导入

当方法重名时,需要指定具体的包名
当方法重名时,指定所属的对象或者类

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

其他对象

 

System

/*描述系统的一些信息,不能被实例化.他的方法和属性都是静态的

out代表:标准输出,默认是控制台

in代表:标准输入,默认键盘

获取系统属性信息:getProperties()

Runtime

Date

Date d = new Date();
       
System.out.println(d);
        //将模式封装到SimpleDateFormat对象中
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 E HH:mm:ss");
        //调用format方法让模式格式化date对象
        String time = sdf.format(d);
        System.out.println(time);

Calendar

        Calendar c = Calendar.getInstance();
// 设置日期
// c.set(2017, 4, 26);
// add方法对时间量的偏移
c.add(Calendar.YEAR, -1);
print(c);
}

System.out.println(c.get(Calendar.YEAR)+"年");

集合中的工具类Collections和Arrays的更多相关文章

  1. JAVA基础学习之 Map集合、集合框架工具类Collections,Arrays、可变参数、List和Set集合框架什么时候使用等(4)

    package com.itcast.test20140113; import java.util.ArrayList; import java.util.Arrays; import java.ut ...

  2. 002-jdk-数据结构-工具类Collections、Arrays、System.arraycopy

    常用备注 一.LIst to Array List<String> list = new ArrayList<String>(); Object[] array=list.to ...

  3. [黑马程序员] 集合框架2——Map系 & 集合工具类(Collections、Arrays)

    ---------------------- ASP.Net+Android+IO开发..Net培训.期待与您交流! ---------------------- 0. 集合框架按其所实现的接口, 大 ...

  4. 工具类Collections、Arrays(传入的是数组)

    Collections类: 1. Collections.sort(list)   //对list集合进行排序前提是 list里面存储的对象已经实现了 comparable接口 2. Collecti ...

  5. Java 集合系列之六:工具类Collections和Arrays基本操作

    1. Collections Collections类主要是完成了两个主要功能 提供了若干简单而又有用的算法,比如排序,二分查找,求最大最小值等等. 提供对集合进行包装的静态方法.比如把指定的集合包装 ...

  6. Java从零开始学二十四(集合工具类Collections)

    一.Collections简介 在集合的应用开发中,集合的若干接口和若干个子类是最最常使用的,但是在JDK中提供了一种集合操作的工具类 —— Collections,可以直接通过此类方便的操作集合 二 ...

  7. Java笔记(二十四)……集合工具类Collections&Arrays

    Collections 集合框架的工具类,方法全部为静态 Collections与Collection的区别 Collection是集合框架的一个顶层接口,里面定义了单列集合的共性方法 Collect ...

  8. java的集合工具类Collections

    集合框架的工具类. Collections:集合框架的工具类.里面定义的都是静态方法. Collections和Collection有什么区别? Collection是集合框架中的一个顶层接口,它里面 ...

  9. Java:集合工具类-Collections

    Java.util.Collections 集合框架工具类Collections,其方法都是静态的,本身没有构造函数. 常见方法: static <T extends Comparable< ...

随机推荐

  1. 添加github ssh 公钥

    1.在控制台输入命令: ssh-keygen -t rsa -C "github上的邮箱地址" 2.将公匙复制后添加到github网站:    id_rsa.pub文件 3.测试是 ...

  2. FPGA电源设计

    LDO(低压差线性稳压器),FPGA需要3.3V.2.5V和1.2V,可选用凌力尔特LINEAR:LT1083/84/85,低压差正压可调稳压器. 应用电路如图所示: 输入端加10UF电解电容,输出端 ...

  3. boost智能指针总结

    智能指针是一种具备指针类似行为的对象,当不在需要它的时候自动删除其引用的c++对象.直接点说就是自动析构C++对象. boost提供了6种智能指针,如下所示: scoped_ptr <boost ...

  4. TCP三次“握手”与4次“挥手”

    OSI(Open System Interconnection,开放系统互联)七层网络模型成为开放式系统互联参考模型,是一个把网络通信在逻辑上的定义,也可以理解成为定义了通用的网络通信规范.而我们的数 ...

  5. Java内置锁synchronized的可重入性

    学习自 https://blog.csdn.net/aigoogle/article/details/29893667 对我很有帮助 感谢作者

  6. Oracle数据安全(五)审计

    一.审计的概念 审计是监视和记录用户对数据库所进行操作,以供DBA进行统计和分析.利用审计可以完成下列任务 保证用户能够对自己在数据库中的活动负责. 禁止用户在数据库中从事于自己职责不相符的活动 调查 ...

  7. BeatSaber节奏光剑双手柄MR教程

    一.物料准备: 1 显卡1060及以上的PC主机 2 HTC VIVE头盔一套(头盔直插显卡上的HDMI接口) 3 1080P摄像头一个(插USB3.0) 4 绿幕一套,能覆盖整个摄像头的可拍摄范围即 ...

  8. SpringBoot 悲观锁 与 乐观锁

    乐观所和悲观锁策略 悲观锁:在读取数据时锁住那几行,其他对这几行的更新需要等到悲观锁结束时才能继续 . 乐观所:读取数据时不锁,更新时检查是否数据已经被更新过,如果是则取消当前更新,一般在悲观锁的等待 ...

  9. spring security结合数据库验证用户-注解方式

    项目目录结构如下: 首先数据库的建立和数据导入,以及一些类的依赖参考XML配置方式,需要修改一些配置. 一.在AppConfig文件中添加DataSource的配置 @Bean(name = &quo ...

  10. MySql判断汉字、日期、数字的具体函数

    几个平常用的mysql函数,MySql判断汉字.日期.数字的具体函数分享给大家,具体内容如下 1.判断字符串是否为汉字 返回值:1-汉字 0-非汉字 ? 1 2 3 4 5 6 7 8 9 10 11 ...