java
Arrays 类:包含用于操作数组的各种方法
public static String toString (int [] a); 返回指定数组的内容的字符串表现形式
public static void sort(int [] a) ;按照数字顺序排列指定的数组
基本类型包装类:最常见操作就是用于基本类型和字符串之间的互相转换
integer类的概述和使用
integer:包装一个对象中的原始类int的值
public integer(int value) ;根据int值创建integer对象
public integer(String s);根据String值创建integer对象
public static integer valueOf(int i);返回指定的int值的integer实例
public static integer valueOf(String s);返回一个保存指定值的integer对象String
int类型装换成String
//方式1
int number=100;
String s1=""+number;
//方式2 public static integer valueOf(int i);
String s2=String.valueof(number);
sout("s2")
String类型转换成int类型
//方式1
String s="100";
Integer i=Integer.valueof(s);
int x=i.intValue(); Int和Integer的区别_integer和int的区别_我是陈旭原的博客-CSDN博客
sout("x")
//方式2
int y=Integer.parseInt(s);
sout(y);
split:将数组中的数字提取出来
需求:将字符串中的数据冒泡排序(从小到大)
String s="11 33 9 4";
//把字符串中的数字数据存在int类型的数组中
String s=s.split(" ");
int [] a=new int[s.length];
for(int i=0;i<a.length;i++){
a[i]=integer.parseInt(s[i]);
}
//对int数组进行排序
Arrays.sort(arr);
//把排序后的int数组中的元素进行拼接得到一个字符串,这里拼接采用stringBuilder来实现
StringBuilder sb=new StringBuilder();
for(int i=0;i<a.length;i++){
if( i==length-1){
sb.append(a[i]);
}else{
sb.append(a[i]).append(" ");
}
}
String result=sb.toString();
sout(result);
装箱:把基本数据类型转换为对应的包装类类型。
integer i = Integer.valueof(100);
integer li=100;//自动装箱
拆箱:把包装类类型转换为对应的基本数据类型。
li=i.intValue()+200;
li=li+200;//自动插箱
Integer lli=null;
lli=lii+300;//空指针异常
data()类
system()类
SimpleDateFormat()类

Calendar()类:日历类
异常
Collection集合

Collection集合的遍历:
Iterator:迭代器,集合遍历的专用方法
Iterator<E> iterator():返回此集合中元素的迭代器,通过集合的iterator()方法得到迭代器是通过集合的iterator()方法得到的,所以我们说它是依赖于集合存在的
Iterator中的常用方法
E next:返回迭代中的下一个元素
boolean hasNext():如果迭代具有更多元素,则返回true
迭代器的并发修改异常
增强for循环:简化数组和Collection集合的遍历
实现lterable接口的类允许其对象成为增强for语句的目标
其原理是一个lterator迭代器


list常用集合子类:ArrayList,LinkedList
ArrayList:底层数据结果是数组,查询快,增删慢
LinkedList:底层数据结构是链表,查询慢,增删快
set集合特点:1.不包含重复元素的集合,没有带索引的方法2.不能使用普通for循环遍历3.因为没有索引,所以遍历出来的顺序是乱的
哈希值:是jdk根据对象的地址或者字符串或者数字算出来的int类型的数值
HashSet集合的特点:1.底层数据结构是哈希表2.对集合的迭代顺序不作任何保证,页脚是说不保证存储和取出的元素顺序一致3.没有带索引的方法,不能使用普通for循环遍历4.由于是Set集合,所以是不包含重读的元素的集合
哈希表:jdk8之前采用数组+链表实现,可以说一个匀速为链表的数组
jdk8以后,在长度比较长的时候,底层实现了优化
LinkedHashSet集合:1.哈希表和链表实现的set接口,具有可预测的迭代次序2.由链表保证元素有需,也就是说,元素的存储和取出顺序是一至的3.由哈希表保证元素唯一,没有重复的元素。
TreeSet集合特点:1.元素有需,这里的顺序不是指存储和取出的顺序,而是按照一定的规则进行排序,具体排序方式取决于构造方法。
泛型方法:

泛型接口:格式:修饰符interface接口名<类型>{ }
public interface DD<T>{ }
类型通配符:<?>通配符的元素可以匹配任何类型,这种带通配符的类型仅表示它是各种泛型的父类,并不能把元素添加到其中
如果我们不希望list<?>是任何通配符的父类,只是希望它代表一类泛型的父类,可以使用类型通配符的上限
1.类型通配符的上限:<?extends 类型>
2.List<?extends Number>:表示的类型是Number或者其子类型
除了可以指定类型通配符的上限,我们也可以指定类型通配符的下线
1.类型通配符下限:<?super 类型>
2.List<?super Number>:它表示的类型是Number或者其父类型
可变参数:格式:修饰符 返回值类型 方法名(数据类型...变量名){ }
范例:public static int sum(int...a){ }
这里的变量是一个数组,如果一个方法有多个参数,包含可变参数,可变参数要放到最后


map集合:Interface Map<K,V> k:键的类型,V:值的类型
将键映射到值的对象,不能包含重复的键,每个键可以映射到最多一个值
例如:学号和姓名
创建map集合的对象
创建Map集合的对象
1.多态的方式
2.具体的实现类HashMap



浙公网安备 33010602011771号