Java集合之Collections工具类
一、Collections 工具类作用:操作 colleaction 和 Map 的工具类 二、常用方法 方法 描述 reverse(List) 反转 List 中元素的顺序 shuffle(List) 对 List 集合元素进行随机排序 sort(List) 根据元素的自然顺序对指定 List 集合元素升序排序 sort(List,Comparator) 根据指定的 Comparator 产生的顺序对 List 集合元素进行排序 swap(List,int, int) 将指定 list 集合中的 i 处元素和 j 处元素进行交换 Object max(Collection) 根据元素的自然顺序,返回给定集合中的最大元素 Object max(Collection,Comparator) 根据 Comparator 指定的顺序,返回给定集合中的最大元素 Object min(Collection) 根据元素的自然顺序,返回给定集合中的最小元素 Object min(Collection,Comparator) 根据 Comparator 指定的 ...
java之泛型
一、泛型概念所谓泛型,就是允许自定义类,接口通过一个标识类中的某个属性的类型或者是某个方法的返回值及参数类型。 这个类型参数将在使用时.(例如,继承或实现这个接口,用这个类型声明变量、创建对象时确定(即传入实际类型参数,也称类型实参))。 二、泛型的引用背景 集合容器类在设计阶段/声明阶段不能确定这个容器到底实际存的是什么类型的对象,所以在 JDK1.5 之前只能把元素类型设计为 object,JDK1.5 之后使用泛型类解决。因为这个时候除了元素的类型不确定,其他的部分是确定的,例如关于这个这个元素如何保存的,如何管理等使确定的,因此此时把元素的类型设计成一个参数,这个类型参数叫做泛型。Collection,List 这个就是类型参数,即泛型。 三、泛型在集合中的使用1、没有使用泛型之前图示: 1234567891011121314151617 @Test public void test1(){ ArrayList list = new ArrayList(); //需求:存放学生的成绩 list.add(78); ...
Spring5之IOC
Spring5 介绍 Spring 是轻量级的开源的 JavaEE 框架 Spring 可以解决企业应用开发的复杂性 Spring 有两个核心部分:IOC 和 Aop (1) IOC : 控制反转,把创建对象过程给 Spring 进行管理 (2) Aop: 面向切面,不修改源代码进行功能增强 Spring 特点 (1)方便解耦,简化开发 (2)Aop 编程支持 (3)方便程序测试 (4) 方便和其他框架进行整合 (5)方便进行事务操作 (6)降低 API 开发难度 Spring5 入门案例 使用 idea 创建一个普通的 java 工程 导入 Spring5 相关的 jar 包(先去 Spring 官网下载) 创建普通类,在这个类创建普通方法 12345public class User{ public void add(){ System.out.println("add...."); }} 创建 Spring 配置文件,在配置文件配置创建的对象(bean1.xml) ...
Java常用类
今天的努力只为更好的明天。 String 类一、概述String: String 声明为 fianl 的,不可被继承。 String 实现了 Serializable 接口,表示字符串是支持序列化的。实现了 Comparable 接口,表示 String 可以进行比较大小。 String 内部定义的 fianl char[ ] value 用于储存字符串数据。 通过字面量的方式(区别new给一个字符串赋值,此时得到字符串声明在字符串常量池中)。 字符串常量池是不会存储相同的内容(使用 String 类的equals()**比较,返回true**)的字符串的。 二、String 的不可变性 说明:① 当对字符串重新赋值,需要重写指定内存中区域赋值,不能使用原有的 value 进行赋值② 当对现有的字符串进行操作时,也需要重新指定内存区域的赋值,不能使用原有的 value 进行赋值。③ 当调用 String 的 replace()方式修改指定字符串时,也需要重新指定区域赋值,不能使用原有的 value 进行赋值。 12345678910111213141516@Test ...
Java集合之Map
一、常用实现类结构 Map:双列数据:存储 key-value 键值对的数据 HashMap: 在作为 Map 的主要实现类:线程不安全,效率高;存储 null 的 key 和 value LinkedMap:保证在遍历 map 元素时,可以照添加的顺序实现遍历。 原因:在原来的 HashMap 底层结构基础上,添加了一对指针,指向前一个和后一个元素。对于频繁的遍历操作,此类执行的效率高于 HashMap。 TreeMap: 保证照添加的 key-value 对进行排序,实现排序遍历。此时考虑 key 的自然排序或定制排序,底层使用红黑树 Hashtable:作为古老实现类,线程是安全的,效率低;不能存储 null 的 key 和 value properties:常用类处理配置文件。key 和 value 都是 String 类型 HashMap 的底层: 数组 + 链表 (JDK 7.0 及之前) 数组 + 链表 + 红黑树 (JDK 8.0) 二、存储结构的理解 Map 中 key:无序的、不可重复的,使用 Set 存储的 key —》 key 所在的类要重 ...
java集合之List、Set
Collection 子接口:List 接口一、存储的数据特点 有序的、可重复的数据 二、常用的方法 方法 描述 add(Object) 增加 remove(int index)/ remove(Object obj) 删除 set(int index , object ele) 修改 get(int index) 查找 add(int index, Object ele) 插入 size() 长度 ① Itertor 迭代器 ②foreach ③ for 遍历 三、常用的实现类 Collection 接口:单例集合,用来存储一个一个对象 List 接口;存储有序的,可重复的数据。 ArrayList: 作为 List 接口的主要的实现类:线程不安全,效率高:底层使用 Objecet[] elementDate 存储 LinkedList: 对于频繁的插入、删除操作,使用此类效率比 ArraList 高:底层使用双向链表存储。 Vector: 作为 List 接口的古老实现类:线程安全,效率低:底层使用 object[] elementDate ...
java集合之Collection
数组与集合一、集合与数组存储数据的概述集合:数组都是对数据进行存储操作的结构,简称 Java 容器 说明:此时的存储,主要指的是内存层面的存储,不涉及到持久化的储存(.text,.jpg,avi,数据库中) 二、数组存储的特点一旦初始化以后,其长度就确定了。 数组一旦定义好,其元素的类型也就搞定了。我们也就只能操作指定类型的数据了。 比如:String[] arr; int[] arr1; Object[] arr2; 三、数组存储的弊端 一旦初始化以后,其长度就不可修改。 数组中提供的方法非常有限,对于添加、插入数据等操作,非常不便,同时效率不高。 获取数组中实际元素的个数的需求,数组没有规定的属性方法可用 数组存储的特点:有序、可重复性、对于无序、不可重复的需求,不能满足。 四、集合存储的优点 解决数组存储数据方面的弊端。 Collection 接口一、单列集合框架结构 Collection接口:单列集合,用来存储一个一个的对象 list接口:存储有序的、可重复的数据。(动态数组) ArrayList、LinkedList、Vector set接口:存储无序的、不可重复的数 ...
Linux之Shell编程
Shell 编程1.1 shell示例图: Shell 是一个命令行解释器, 它为用户提供了一个向 Linux 内核发送请求以便运行程序的界面系统级程序, 用户可以用 Shell 来启动、 挂起、 停止甚至是编写一些程序. 1.2 shell 编程快速入门-shell 脚本的执行方式1.2.1 脚本格式要求 脚本以#!/bin/bash 开头 执行脚本需要有执行的权限 1.2.2 编写第一个 shell 脚本 需求说明 创建一个 shell 脚本, 输出 hello world! 案例 12#!/bin/bashecho "hello world" 1.2.3 脚本的常用执行方式 方式 1(输入脚本的绝对路径或相对路径) 首先要赋予 helloworld.sh 脚本的+x 权限 执行脚本 方式 2(sh+脚本), 不推荐 说明: 不用赋予脚本+x 权限, 直接执行即可 1.3 shell 的变量1.3.1 shell 的变量的介绍 linux shell 变量分为,系统变量和用户自定义变量 系统变量 : $HOME、$PW ...
Linux 搭建 JavaEE 环境
LInux 搭建 JavaEE 环境一、安装 JDK(1.8)先将软件通过 xftp5 上传到 /opt 下 解压缩到 /opt 配置环境变量的配置文件 vim /etc/profile 123JAVA_HOME=/opt/opt/jdk1.8.0_261PATH=/opt/jdk1.8.0_261/bin:$PATHexport JAVA_HOME PATH 需要注销用户,环境变量才能生效 如果是在 3 运行级别, logout 如果是在 5 的运行级别 在任何目录下就可以使用 java 和 javac 测试是否安装成功 编写一个简单的 Hello.java 输出”hello,world!” 12345public class Hello{ public static void main(String[] args){ System.out.println("hello"); }} 使用 javac 编译 , 在使用 java 执行 ...
Linux 笔记【适用新手】
博客中所需要的工具我已经打包好,放在博客文章最后。 里面包含了: PDF 版知识点 Xshell Xftp 第一章 开机、重启和用户登录注销Linux 目录结构: 1.1 关机&重启命令 shutdown shutdown -h now : 表示立即关机 shutdown -h 1 : 表示 1 分钟后关机 shutdown -r now : 立即重启 halt 就是直接使用,效果等价于关机 reboot 就是重启系统 syn 把内存的数据同步到磁盘 1.2 用户基本登入和注销1.2.1 基本介绍 1)登入时尽量少用 root 登录,因为它是系统管理员,最大权限,避免操作失误。可利用普通用户登录,登入后再用**”su -用户名”** 命令来切换成系统管理员身份. 2) 在提示符输入 logout 即可以注销用户 第二章 用户管理2.1 添加用户2.1.1 基本语法 useradd [选项] 用户名 2.1.2 实际案例 添加一个用户 xm 特别说明 cd 表示 change directory 2.1.3 细节 ...