Java学习第十三天

Java学习第十三天知识点

包装类: - 对应的就是8大基本数据类型

byte    - Byte
short   - Short
int     - Integer
long	- Long
float	- Float
double	- Double
char	- Character
boolean - Boolean

1.创建方式:

a.直接赋值创建
	Integer i = 10;
b.构造方法创建
	new Integer(int i)
	new Integer(String str)

2.装箱和拆箱:

自动拆箱: Integer -> int
	i1.valueOf();

自动装箱: int -> Integer

3.常用API

Integer/int  和 String之间的转换

	String -> Integer:
		a. Integer.valueOf()
		b. new Integer(str)

	String -> int:
		a. Integer.parseInt()

4.常量池:

String a="abc"//这个abc就存在于常量池
a.所有的包装类中只有Integer有常量池
b.常量池有取值范围:
	-128 ~ 127
c.只要超过取值范围,全都是在new对象

数组: 数组的扩容/缩容 -> 最基本的数据结构

集合:可变长数组
1.概念:集合相当于是一个容器,主要用来存储任意类型的数据

2.分类:

	Collection(I)
		|- List(I)
		|- Set(I)
		|- Queue(I)

	Map(I)

Iterable - 接口
1.API -> 只有一个方法 iterator() - 获取一个迭代器

2.迭代器:

a.作用:遍历/迭代集合(数组)所有元素
b.三个方法:
	hashNext() - 询问有没有下一个元素
	next() - 移动到下一个元素,并返回该位置上的元素
	remove() - 删除集合元素

  注意:如果迭代删除每一个元素,就必须使用迭代器方式进行删除否则会出现ConcurrentModificationException - 并发修改异常

例子:

package a;
import java.util.ArrayList;
import java.util.Iterator;

public class IteratorDemo0 {
    public static void main(String[] args) {
        ArrayList<String> all = new ArrayList<String>();
        all.add("a");
        all.add("b");
        all.add("c");

        Iterator iterator = all.iterator();//实例化迭代器

        while(iterator.hasNext()){
            String str= (String) iterator.next();//读取当前集合数据元素
            if("b".equals(str)){
                //all.remove(str);//使用集合当中的remove方法对当前迭代器当中的数据元素值进行删除操作(注:此操作将会破坏整个迭代器结构)使得迭代器在接下来将不会起作用
                iterator.remove();
            }else{
                System.out.println( str+" ");
            }
        }
        System.out.println("\n删除\"b\"之后的集合当中的数据为:"+all);
    }
}

	

3.简易版迭代器 - foreach

 a.作用: 获取集合/数组中所有的元素
 b. 语法: for( : ){}
 	:前 ->  获取到的元素的临时变量
 	:后 ->  要遍历的集合/数组
 c.缺点:	只能获取元素,不能做删除操作

例子:

public static void listTest3(ArrayList list,String a){
    int count=0;
    for (Object arr:list){
        if (arr==a){
            count++;
        }
    }
    System.out.println(a+":"+count);
}

Colleti on集合:
1.创建方式:

	Colletion col = new ArrayList();

2.常用API:

	普通方法:
		boolean add(E e) 
		void clear() 
		boolean contains(Object o) 
		boolean isEmpty() 
		boolean remove(Object o)
		boolean remove(Object o) 

	和集合相关的API:
	 	boolean addAll(Collection<? extends E> c)
        boolean containsAll(Collection<?> c)
        boolean removeAll(Collection<?> c)
        boolean retainAll(Collection<?> c)
        强类型 -> 指定类型  例如:String
        弱类型 -> 没有指定类型(可以是所有类型)

泛型:
1.特点:

a.所有是类型的地方都可以使用泛型来代替,泛型表示所有类型(Object)
b.规定了泛型,就只是支持定义好的类型,只是在编译时有效,用来规范程序员写法
c.运行时,还是支持Object类型

2.定义泛型的步骤:

a.在类/接口上定义加上<E>
	ps:  Collection<E> col = new ArrayList();

b.在类/接口的方法中,具体类型就可以使用E来代替

3.作用:

泛型就是为了让代码的复用性更强,就可以不用实现重载操作

集合和数组的区别:

长度区别:
	a.集合长度可变
	b.数组长度不可变

内容区别:
	a.集合可以存储引用类型数据
	b.数组可以存储基本数据类型,引用数据类型

	c.一个集合中可以存储任意类型
	d.数组只能存储统一类型

JavaBean规范:

1.成员变量私有化,提供一对get()/set()
2.添加无参构造方法
3.重写toString()
4.重写equals()和hashCode()
5.建议基本数据类型使用包装类
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值