04 Java API
来源:互联网 发布:为什么运营商封80端口 编辑:程序博客网 时间:2024/04/28 11:09
四、Java API
1.String类
1)String类概述
str.length();str.charAt(in index);indexOf(int ch); indexOf(int ch,int fromIndex);lastIndexOf(int ch);boolean contains(str);1. 获取length();charAt(x);indexOf('a');lastIndexOf('a');indexOf('a',3);2. 判断contains(str);isEmpty()startsWith(str);endsWith(str);equals(str);equalsIgnoreCase(str);3. 转换new String(byte[] arr,0,len);valueOf( x );copyValueOf();toCharArray(str);getBytes(str);4. 替换replaceAll(old,new);//正则5. 切割split(regex);6. 子串substring(begin,end);7. 转换大小写、去空格(首尾)、自然顺序比较toUpperCase();toLowerCase();trim();compareTo(str);
2)StringBuffer
- 容器
- CURD
多线程
StringBuffer特有方法StringBuffer append(int x);StringBuffer delete(int start, int end );StringBuffer insert(int index,String str);StringBuffer reverse();
JDK1.5出现一个StringBuilder,区别是
StringBuffer是同步的,StringBuilder是非同步
的。
3)StringBuilder
单线程,效率高
2.集合框架
1)概述
2)List
Collection
|–List:元素是 有序 的,元素 可以重复 。因为该集合体系有索引。
|– ArrayList :底层使用数组结构。特点: 查询速度快 ,但是增删慢。线程不同步
|– LinkedList :底层使用链表数据结构。特点: 增删快 ,查询慢
|– Vector :底层是数组数据结构。线程同步。被ArrayList替代
|– Set :元素是 无序 ,元素 不可以重复 。
List:
特有方法:凡是可以操作角标的方法都是该体系特有的方法
增 add(index,element); addAll(index,Collection);删 remove(index);改 set(index,element);查 get(index); subList(from,to); listIterator();
List集合特有的迭代器,ListIterator是Iterator的子接口
在迭代时不可以通过集合对象的方法操作集合中的元素,
会发生ConcurrentModificationException异常
所以,在迭代器中,只能用迭代器的方法操作元素,只能
对元素进行判断,取出,删除的操作。
如果想要其他操作如添加,修改等,就需要使用其子接口 ListIterator
该接口只能通过List集合的listIterator方法获取
3)Set
|– Set :元素是无序(存入和取出的顺序不一定一致),元素不可以重复
|– HashSet :底层数据结构是 哈希表 。 存取快
HashSet是如何保住元素的唯一性的呢?
* 是通过元素的两个方法,先 hashCode() ,再 equals()
注意,对于判断元素是否存在,以及删除等操作,依赖的方法是
元素的hashCode和equals方法。
|– TreeSet :线程不安全,可以对Set集合中的元素进行 排序
* 通过 compareTo()或者compare() 方法中的来保证元素的唯一性。元素是以 二叉树 的形式存放的。
4)Map集合
(1)Map与Collection
- Map与Collection在集合框架中属并列存在
- Map存储的是 键值对
- Map存储元素使用 put方法 ,Collection使用 add方法
- Map集合没有直接取出元素的方法,而是 先转成Set集合 ,再 通过迭代获取元素
- Map集合中 键 要保证 唯一性
(2)Map集合常用类
- Hashtable :线程安全,速度慢, 不允许存放null键 ,null值,已被HashMap替代。
- HashMap :线程 不安全 , 速度快,允许存放null键,null值 。
- TreeMap :对键进行 排序 ,排序原理与TreeSet相同。
(3)TreeMap
3.泛型
JDK1.5 以后出现的机制
泛型的 特点
- 提高了程序的 安全性
- 将运行期遇到的问题转移到了编译期
- 省去了类型强转的麻烦
- 泛型类的出现优化了程序设计
4.Collections
- 对集合进行查找
- 取出集合中的最大值,最小值
- 对List集合进行排序
5.Arrays
- 将数组转成List集合
- 对数组进行排序
- 对数组进行二分查找
6.集合转数组
7.增强for循环
JDK1.5 后出现
Collection在JDK1.5后出现的父接口Iterable就是提供了这个for语句。
格式:
for(数据类型变量名 : 数组或集合){执行语句;}
简化了对数组,集合的遍历
8.可变参数
返回值类型 函数名(参数类型… 形式参数){执行语句;}
其实接收的是一个数组,可以指定实际参数个数
9.静态导入
10.其他对象
- System
- Runtime
- Date
- Calendar
- Math-Random
- 04 Java API
- JAVA API
- Java API
- java API
- java API
- java API
- java API
- java API
- Java API
- JAVA API
- Java API
- java API
- JAVA API
- Java API
- JAVA API
- Java API
- Java API
- Java Api
- 包装类
- CodeForces 580AKefa and First Steps
- Unable to connect to your virtual device!解决方法
- Tarjan算法求至少要添加几条边才能使无向连通图变为边双连通图。
- 【VS开发】关于内存泄漏的调试
- 04 Java API
- 冒泡排序法
- jQuery操作动画队列
- 自考总结之信息资源管理
- 开始写博客
- LeetCode-103.Binary Tree Zigzag Level Order Traversal
- 共同学习Java源代码--数据结构--AbstractCollection抽象类(二)
- 05 输入输出(IO)
- linux