首页 > 代码库 > 16.数组、类集框架
16.数组、类集框架
1.数组定义方法
静态声明法
int arr[]={1,1,2,3};
动态声明法
int arr[]=new int[10];//创建一个arr长度为10的
2.类集框架
2.1定义
JDK的一组类和接口,位于java.util包中,主要用于存储和管理对象。
和数组相比:容量自动扩充,存储方式多。
2.2种类
存储数据方式:集合(Set,无序,不允许重复元素)、列表(List集合中对象按照索引位置排序,可以有重复对象)、映射(Map,一一对应)
框架主题结构
2.3使用
Collection接口方法:
1)list—Arraylist
ArrayList<String> arrayList = new ArrayList<String>(); //只能存放String;
<String>是类型参数。
方法:
arrayList.add("a"); //加入a
arrayList.get(1); //取出arrayList的第一个对象
arrayList.size(); //获取arrayList长度
2) Set和HashSet(Collection子接口,方法同Collection)
生成String类型HashSet对象:HashSet<String> hashSet = new HashSet<String>();
集合无序,遍历的一种方法——迭代器
迭代器生成:调用set对象的Iterator方法 ,会生成一个迭代器对象,该对象用于遍历整个Set。Collection是Iterator子接口。
生成迭代器对象:Iterator<String> it = set.iterator();,迭生成代器对象就可以把set中的元素一个一个取出来,游标往后移动。
Lterator中的方法
hasNext() :返回值是布尔,判断迭代器中还有没有下一个元素,有返回真。
next():取出下一个元素,游标往下移动1位;
Map与HashMap:
对象建立:HashMap<String,String> hashMap = new HashMap<String,String>(); //存放键值对
向上转型为map类型:Map<String,String> map = hashMap;
往map存键值对:map.put("1","a");
获得键值对数量:int i = map.size();
得到map键对应的值:String s = map.get("3");
3.equals函数
3.1位置
在object类中,object又是所有类的父类。所以所有的类都继承equals方法。
3.2作用
“==”的作用是判个两个引用是否指向堆内存中的同一块地址;
equals用来比较两个内容是否相等。
符合内容相同(大多数情况下)条件:
1)对象类型相同(同一个类生成,可以使用instanceof操作符进行比较);
2)两个对象的成员变量和值是否相同。
3.3复写equals函数方法
object里继承的equals并不适合所有情况,原则上是复写。
public boolean equals(object obj)
{
if(this == obj) //判断是不是指向堆内存中同一个对象,同一个对象内容一定相同,不用判断。
{
return ture;
}
boolean b = obj instanceof Uesr;//判断前面对象是不是后面的类型。同一个类
if(b)
{
User u = (Uesr)obj;
if(this.age == u.age && this.name.equals(u.name)) //name来调用equals,String复写好,判断值是不是相同
return ture;
}
else
{
return fulse;
}
else
{
return fulse;
}
}
需要注意的是: 比较成员变量,基本数据类型用“==”比,引用数据对象(数组、字符串)用equals
4.hashCode()方法
和equals相关联。equals相同,则生成的hash码也就一样,在Object类中。
5.toString()方法
对象转成字符串,可以复写输出字符串。在Object类中
在打印时候首先调用toString方法,再把所返回的字符串打印出来。
我们可以复写打印出自己对象的情况。
来自为知笔记(Wiz)
16.数组、类集框架
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。