异常泛型集合

异常
捕捉

语法格式:

try {
有可能出现的异常代码
} catch(Exception e) {
针对上面异常的处理方案
}

1
2
3
4
5

抛出

使用两个关键字:

​ throw:在方法中抛出异常对象。

​ throws:用在方法的声明的位置,告知调用者。当前抛出的异常有哪些。
String类方法

获取字符串长度 int length();

获取特定位置的字符 char charAt(int index);

获取特定字符的位置 int indexOf(char ch); int indexOf(String str);

获取指定字符最后一个的位置 int lastIndexOf(char ch);

字符串的拼接 concat();

返回值是布尔类型的方法

是否以指定的字符结束 boolean endsWith(String str);

判断一个字符串是否为空 boolean isEmpty();

是否包含指定的字符串 boolean contains(String str);

忽略大小写是否相等 boolean eaqualsIgnoreCase(String otherStrinf);

将字符数组转为字符串

String(char[] chs);

String(char[] chs, int offset, int count)

static String valueOf(char[] chs);

将字符串转为字符数组

char[] toCharArray();

字符串替换 String replace(char oldChar, char newChar);

​ String replaceAll(String old, String new);

切割字符串:String[] split(String regex);

截取字符串:String subString(int beginIndex);

​ String subString(int beginIndex, int endIndex); 要头不要尾

将小写字母转为大写字母:String toUpperCase();

将大写字母转为小写字母:String toLowerCase();

去除收尾空格的:String trim();

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47

泛型

泛型的语法格式

权限修饰符 [static] <无意义的占位符> 返回值的类型 方法名字 (参数类型) {

}
public void get(T t){}

1
2
3
4
5

自定义泛型在类中如何使用

class 类名<无意义的占位符> {
属性
方法(带有泛型的)
}

1
2
3
4

【注意事项】:

​ 1.在泛型类中,成员方法不用带 因为一旦带了,这个方法约束的数据和当前类约束的就不一样了

​ 2.在泛型类中,带有泛型的静态方法和类的泛型没有关系
自定义泛型在接口中如何使用

interface 接口名字 {

}

1
2
3

权限修饰符

在这里插入图片描述
集合

在这里插入图片描述
Collection接口

增:

boolean add(E e);添加指定的数据到指定的位置
boolean addAll(Collection<? extends E>);添加另外一个集合到当前集合对象中。
但是一定要保证两个集合的泛型保持一致

1
2
3

删除:

boolean remove(Object obj);删除指定的元素
boolean removeAll(Collection<? extends E>);删除两个集合中的交集
void clear();清空所有的元素

1
2
3

查:

int size();查看集合中元素的个数
Object[] toArray();将集合转为Object类型的数组 就意味着以后数组和集合可以互相转换
boolean contains(Object obj);判断一个元素是否在当前集合中
boolean isEmpty();判断集合元素是否为空。如果有数据就是一个false 没有数据就是一个true

1
2
3
4

迭代器

hasNext() 判断是否有下一个元素,有的话就是true 没有下一个元素就是一个false
iterator.next()//next方法做了两件事情:1.获取下一个元素的 2将指针往下挪一位
List接口

特点:有序的,可以重复的
COllection下面的方法,在List下面都有的,因为是继承关系的 子类可以使用父类的方法

增:

boolean add(int index, E e);在指定的位置添加指定的数据
boolean addAll(int index, Collection<? extends E> c);在指定的位置下面存入另外一个集合

1
2

删:

boolean remove(E e);删除指定的元素 和索引没有关系
E remove(int index); 通过索引删除指定的数据,并返回删除的数据 这个太强大了

1
2

改:

E set(int index, E element) 3 4 5 6
在指定位置替换指定的元素,并返回一个被替换的元素

1
2

查:

E get(int index);通过索引把指定的元素取出来
int indexOf(Object O);查找指定元素第一次下标,如果没有这个元素的话就返回-1
int lastIndexOf(Object o);查找指定元素的最后一次下标
List subList(int startIndex, int endIndex); 从集合中通过索引截取一部分。这个索引是要头不要尾的

1
2
3
4

LinkedList

简单聊一下LinkedList

LinkedList 底层是双向链表,并且实现了一个接口队列(先进先出)Deque
查找慢:因为底层是采用的二分法查找的算法 时间复杂度是n/2 不是一下就找到的
增删快:直接找到要插入的前置节点和后置节点,来进行插入或删除,其他元素不用
和ArrayList刚好相反

1
2
3
4

Object类

Object下的equals是比较内存地址,String类下的是判断两个对象是否相等

Set

Set集合是无序的,不可重复的

匿名内部类
基于抽象类的匿名内部类

//定义一个抽象类
abstract class Animal{
public abstract void eat();
}
public class Demo1 {
public static void main(String[] args) {
//直接new抽象类的方法名
new Animal() {

		@Override
		public void eat() {
			// TODO Auto-generated method stub
			System.out.println("在吃饭");
		}
	}.eat();//匿名对象.方法();
}

}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

基于接口的匿名内部类

interface Pig {
public void eat();
}
//不用再单独写一个类去实现这个接口
public class Demo3 {
public static void main(String[] args) {
new Pig() {
@Override
public void eat() {
// TODO Auto-generated method stub
System.out.println(“猪吃主食”);
}
}.eat();
}

}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

匿名内部类语法格式:接口/父类类型 引用变量名 = new 接口/父类类型(){方法的重写};

java8新特新Lamda表达式 格式:(参数列表)-> {方法体}

Map集合

双边队列的
Map<K, V>
K:键 key 键是不能重复的,是唯一的
V:值 value 值可以重复的

1
2
3
4

Map集合下面常用的方法

增:

put(K key, V  value);存放的是一个键值对的数据

​ putAll(Map<? extends K> k, Map<? extends V> v);将一个map集合存放到另外一个map集合中

1
2
3

删:

remove(Object k);通过键删除整个键值对,并返回被删除的值

1

改:

put(K key, V value); 当key存在的时候,就修改。当key不存在的时候,就添加

1

查:

​int size();键值对有效的个数

​boolean isEmpty();是否为空,map集合为空就返回true,不为空就返回false

boolean containsKey();是否包含这个键

boolean containsValue();是否包含这个值

Set keySet()获取map集合中键,返回是set集合

​返回值是一个Set集合为啥不是一个List集合,map集合中键 是无序的不可以重复

V get(Object k);通过键获取值

Collection values();获取map集合中所有的value值,返回的是Collection集合

Set<Map.entry<K, V>>entrySet()`;将键值对实体成一个Set集合

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

File

相对路径:

相对一个参照物 我在隔壁,参照物是咱们教室
./当前工作目录
…/相对于本级目录,上一级目录
…/…/相对于本级目录的上两级目录

绝对路径:

从磁盘的根目录 一级一级的找

路径斜线问题:

1./ window和Linux系统都是可以的

​ 2.\ windows系统可以 其他系统不支持

​ 开发中一般使用/
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值