java基础(三)之数据类型

集合
集合和数组的区别:
1. 数组是固定长度的,集合可变长度的
2. 数组可以存储基本数据类型,也可以存储引用数据类型;集合只能存储引用数据类型
3. 数组存储的元素必须是同一个数据类型;集合存储的对象可以是不同数据类型
Collection:集合,动态的存放任何对像
子接口:List:存放不唯一、有序(插入的顺序)
Set:存放唯一、无序的数据
二、 方法(Collection)
1.添加:Add(object):添加一个元素
addAll(Collection):添加一个集合中的所有元素
2.删除:clear():将集合中的元素全删除,清空集合
Remove(obj):删除集合中指定的对象。注意:删除成功,集合的长度会改变
removeAll(collection):删除部分元素,部分元素和传入collection一致
3.判断:
Boolean contains(obj):集合中是否包含指定元素
Boolean containsAll(Collection):集合中是否包含指定的多个元素
Boolean isEmpty():集合中是否有元素
4. 获取:
Int size():集合中有几个元素
5. 取交集:
Boolean retainAll(Collection):对当前集合中保留和指定集合中的相同元素,如果两个集合元素相同,返回false:如果retainAll修改了当前集合,返回true
6. 获取集合中所有元素:
Iterator iterator():迭代器
7. 将集合变成数组:
toArray();
迭代器(Iterator):是一个接口,作用:用于取集合中的元素,相当于遍历
hasNext():如果仍有元素可以迭代,返回true
next():返回下一个元素
remove():移除迭代器返回的最后一个元素
List接口的实现类:
ArrayList:数组结构,适合遍历元素和随机访问元素
LinkedList:链表结构,每个元素记录了前后元素的信息,适合做元素的插入和删除
方法:
1. 添加:
Add(index,element):在指定的索引位插入元素
addAll(index,collection):在指定的索引位插入一堆元素
2. 删除:
Remove(index):删除指定索引位的元素,返回被删的元素
3. 获取:
Object get(index):通过索引获取指定元素
Int indexOf(obj):获取指定元素第一次出现的索引位,如果该元素不存在返回-1,可以判断一个元素是否存在
Int lastIndexOf(object o):反向索引指定元素的位置
List subList(start,end):获取子列表
4. 修改:
Object set(index,element):对指定索引位进行元素的修改
5. 获取所有元素
ListIterator listIterator():list集合特有的迭代器
6. 遍历: For(int a=0;a小于list.size();a++){
sop(“get:”+list.get(a))
}
Set接口:
实现类:HashSet TreeSet
方法和List接口的基本相同
注意:没有get()方法,因为Set没有下标,怎么访问
使用迭代器:步骤如下:
A. 获取迭代器:Iterator i=set.iterator();
B. 循环迭代器:hasNext():是判断迭代器这个是否有下一条数据
Next():是获取下一条数据
案例:for (Iterator iterator = set.iterator(); iterator.hasNext();) {
Object object = (Object) iterator.next();
上面一句需要时进行强转
}
Map接口(映射)
实现类:HashMap、TreeMap
常用方法:
Put(object :ket object:value):存入键值对
Get(object key):根据key来取值
3. 遍历
Map没有迭代器,不过可以通过 keyset()方法来遍历
案例:
Set keyset = map.keySet();//获取所有key
for (Object object : keyset) {//根据每个key,循环输出对应值
String str=(String)map.get(object);//注意:get()括号里填的是object
System.out.println(str);
}
泛型集合
作用:1、类型安全:java程序 的类型安全;
2、能过编译时检查类型转换错误
语法:
List list=new ArrayList();
list.put(“abcd”);
String s=list.get(0);
如何让泛型能接收多种类型?
解决方案:使用多态(继承,实现接口)
泛型指定的是父类,那么所有该父类的子类则都可以通过检查
泛型指定的是接口,那么所有该接口的实现类都可以通过检查
字符串
String的每个字符都是一个16位的Unicode字符,用Unicode很容易表达丰富的国际化字符集,比如很好的中文支持。
定义:String s=”123”;
String s=new String(“123”);
区别:第一种是先在缓冲池中找,找不到就新建一个,第二种是每次都新建一个。
判断字符串
if(s==null)从引用角度
if(s.length()==0)长度
if(s.trim().length()==0)是否有空白字符
trim()去除字符串前后空格
未初始化、空串、null
未初始化的对象会出现编译时异常,全局变量会自动初始化为null,局部不会自动初始化。
对引用为null的对象操作运行时抛出空指针异常。
空串与其他字符串的区别是长度为0.
String不可继承,因为它是final类。
被final修饰的类不能被继承,被修饰的方法不能被重写,被修饰的变量不能被改变;
方法:
equals()比较内容是否相同,返回布尔型
compareTo()判断字符串大小,返回int型
compareToIgnoreCase(String int)比较时忽略大小写
== 判断内容与地址是否相同
equalsIgnoreCase 忽略大小写判断内容是否相同
charAt(int index)返回指定索引的字符串,从0开始
indexOf(String str)返回str第一次出现的位置,没有返回-1
indexOf(String str,int index)从index位置开始找str
lastIndexOf(String str)返回str最后一次出现的位置,没有返回-1
lastIndexOf(String str,int index)从index位置开始找str
subString(int beginIndex)截断从index开始到最后
subString(int beginIndex,int endIndex)
从 beginIndex到endIndex-1的字符串
replace(char oldChar,char newChar)替换
trim()去除前后空格
valueOf()其他类型转换为字符串
length()获取长度
对象
是客观存在的实体,由属性和方法组成,属性是对象的特征,方法是对象的行为能力

类是具有相同属性和方法的一组对象的集合,类是对象的类型。
定义:类名、属性、方法
方法 :访问权限修饰符 返回类型 方法名(参数列表){方法体}
访问权限修饰符:public 全公开
protected受保护 当前类、同包、子类可访问,其他不可以
default(默认)当前类和同包可访问
private私有 当前类可访问
返回类型:void 无返回类型
除了无返回类型,还有其他任意返回类型,可以int、String、自定义类等。构造方法没有返回类型。
参数可有可无,根据需要自定义。
使用:类名 对象名=new 类名();
调用对象的属性:对象名.属性名
调用对象的方法:对象名.方法名

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值