java集合框架基础入门.docx

上传人:b****6 文档编号:8470726 上传时间:2023-01-31 格式:DOCX 页数:20 大小:20.30KB
下载 相关 举报
java集合框架基础入门.docx_第1页
第1页 / 共20页
java集合框架基础入门.docx_第2页
第2页 / 共20页
java集合框架基础入门.docx_第3页
第3页 / 共20页
java集合框架基础入门.docx_第4页
第4页 / 共20页
java集合框架基础入门.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

java集合框架基础入门.docx

《java集合框架基础入门.docx》由会员分享,可在线阅读,更多相关《java集合框架基础入门.docx(20页珍藏版)》请在冰豆网上搜索。

java集合框架基础入门.docx

java集合框架基础入门

Collection集合框架:

存数不同数据类型的容器

三大接口:

全部是泛型接口

1)Collection是集合的跟接口

2)Map接口,存放是键值对

3)Iterator是专门迭代结合的接口

List:

是一个有序的泛型接口(可以重复的)(有序可以重复的)

List的实现类:

1)ArrayList底层是一个数组

2)LinkedList底层是一个链表结构

面试题:

Collection和Collections的区别是什么:

Collection是所有的集合的根接口

Collections是用来操作集合的类其中包含了很多方法来操作集合(Array和Arrays)

ArrayList和LinkedList,Vector的区别:

ArrayList底层是数组查询效率较高,做插入时效率较低(线程不安全的,但是效率高)

LinkedList底层是链表,做查询的时候效率低,插入时效率高

Vector是同步的线程安全的,效率低

Set接口中的实现类

1)hashSet:

是无序的不可重复的

2)TreeSet:

可以实现排序(当存储的是对象时,必须实现Comparable接口重写CompareTo()进行自定义排序)

Iterator迭代器(专门迭代集合的神器)

1数组集ArrayList.java

ArrayListDemo1.java

packagecom.chinasofti.eec.collectionDemo;

importjava.util.ArrayList;

importjava.util.List;

publicclassArrayListDemo1{

publicstaticvoidmain(String[]args){

Listlist=newArrayList();

list.add("hello");

list.add("world");

list.add

(1);

list.add('男');

System.out.println(list);

}

}

ArrayListDemo2.java

packagecom.chinasofti.eec.collectionDemo;

importjava.util.ArrayList;

importjava.util.Collections;

importjava.util.List;

publicclassArrayListDemo2{

publicstaticvoidmain(String[]args){

Listlist=newArrayList();

list.add("hello");

list.add("world");

//list.add

(1);错误的

Collections.addAll(list,"您好","世界");

System.out.println(list);

}

}

ArryaListDemo3.java

packagecom.chinasofti.eec.collectionDemo;

importjava.util.ArrayList;

importjava.util.Collections;

importjava.util.List;

publicclassArrayListDemo3{

publicstaticvoidmain(String[]args){

Listlist=newArrayList();

list.add("A");

list.add("A");

list.add("C");

list.add("B");

System.out.println(list);

}

}

ArryaListDemo4.java

packagecom.chinasofti.eec.collectionDemo;

importjava.util.ArrayList;

importjava.util.Collection;

importjava.util.List;

publicclassArrayListDemo4{

publicstaticvoidmain(String[]args){

Listlist=newArrayList();

Collectioncollection=newArrayList();

collection.add("world");

collection.add("世界");

list.add("A");

list.add("A");

list.add("C");

list.add("B");

list.add(0,"hello");//在制定的位置去添加集合元素

list.addAll(collection);

list.addAll(0,collection);

list.set(0,"你好");//根据下标更改对应的集合元素

list.remove(0);//根据下标删除集合元素

list.remove("hello");//根据元素的内容去删除集合元素

list.removeAll(collection);

System.out.println(list);

System.out.println(list.size());

}

}

ArryaListDemo5.java

packagecom.chinasofti.eec.collectionDemo;

importjava.util.ArrayList;

importjava.util.Collection;

importjava.util.List;

publicclassArrayListDemo5{

publicstaticvoidmain(String[]args){

Listlist=newArrayList();

list.add("A");

list.add("A");

list.add("C");

list.add("B");

String[]str=list.toArray(newString[list.size()]);

for(Stringstr1:

str){

System.out.println(str1);

}

System.out.println("=============================================");

Object[]strr=list.toArray();

for(inti=0;i

System.out.println(strr[i]);

}

}

}

ArryaListDemo6.java

packagecom.chinasofti.eec.collectionDemo;

importjava.util.ArrayList;

importjava.util.Collection;

importjava.util.List;

publicclassArrayListDemo6{

publicstaticvoidmain(String[]args){

Listlist=newArrayList();

list.add("hello");

list.add("A");

System.out.println(list.indexOf("B"));

System.out.println(list.isEmpty());

}

}

ArryaListDemo7.java

packagecom.chinasofti.eec.collectionDemo;

importjava.util.LinkedList;

importjava.util.List;

publicclassArrayListDemo7{

publicstaticvoidmain(String[]args){

Listlist=newLinkedList();

list.add("hello");

list.add("A");

/*System.out.println(list.indexOf("B"));

System.out.println(list.isEmpty());*/

for(inti=0;i

System.out.println(list.get(i));

}

System.out.println("===================");

for(Stringstr:

list){

System.out.println(str);

}

}

}

2set接口实现类

Person.java

packagecom.chinasofti.eec.vo;

publicclassPersonimplementsComparable{

privateStringname;

privateintage;

publicPerson(Stringname,intage){

super();

this.name=name;

this.age=age;

}

publicStringgetName(){

returnname;

}

publicvoidsetName(Stringname){

this.name=name;

}

publicintgetAge(){

returnage;

}

publicvoidsetAge(intage){

this.age=age;

}

@Override

publicStringtoString(){

return"Person[name="+name+",age="+age+"]";

}

@Override

publicinthashCode(){

finalintprime=31;

intresult=1;

result=prime*result+age;

result=prime*result+((name==null)?

0:

name.hashCode());

returnresult;

}

@Override

publicbooleanequals(Objectobj){

if(this==obj)

returntrue;

if(obj==null)

returnfalse;

if(getClass()!

=obj.getClass())

returnfalse;

Personother=(Person)obj;

if(age!

=other.age)

returnfalse;

if(name==null){

if(other.name!

=null)

returnfalse;

}elseif(!

name.equals(other.name))

returnfalse;

returntrue;

}

@Override

publicintcompareTo(Personp){

if(this.age>p.age){

return1;

}elseif(this.age

return-1;

}else{

returnpareTo(p.name);

}

};

}

SetDemo1.java

packagecom.chinasofti.eec.collectionDemo;

importjava.util.HashSet;

importjava.util.Set;

importcom.chinasofti.eec.vo.Person;

publicclassSetDemo1{

publicstaticvoidmain(String[]args){

Setset=newHashSet();

set.add(newPerson("张三",18));

set.add(newPerson("王五",18));

set.add(newPerson("李四",17));

set.add(newPerson("陈六",16));

set.add(newPerson("王五",15));

System.out.println(set);

}

}

SetDemo2.java

packagecom.chinasofti.eec.collectionDemo;

importjava.util.Iterator;

importjava.util.Set;

importjava.util.TreeSet;

importcom.chinasofti.eec.vo.Person;

publicclassSetDemo2{

publicstaticvoidmain(String[]args){

Setset=newTreeSet();

set.add(newPerson("张三",15));

set.add(newPerson("王五",18));

set.add(newPerson("李四",17));

set.add(newPerson("陈六",16));

set.add(newPerson("王五",18));

Iteratorit=set.iterator();

while(it.hasNext()){

Personperson=it.next();

System.out.println(person);

}

}

}

SetDemo3.java

packagecom.chinasofti.eec.collectionDemo;

importjava.util.HashSet;

importjava.util.Iterator;

importjava.util.Set;

importjava.util.TreeSet;

importcom.chinasofti.eec.vo.Person;

publicclassSetDemo3{

publicstaticvoidmain(String[]args){

Setset=newHashSet();

set.add("hello");

set.add("world");

set.add("java");

set.add("c++");

set.add("dsadasd");

Iteratorit=set.iterator();

while(it.hasNext()){

Stringperson=it.next();

System.out.println(person);

}

}

}

1ArrayList存储字符串并遍历

packagecn.itcast_01;

importjava.util.ArrayList;

importjava.util.Iterator;

/*

*ArrayList存储字符串并遍历。

要求加入泛型,并用增强for遍历。

*A:

迭代器

*B:

普通for

*C:

增强for

*/

publicclassArrayListDemo{

publicstaticvoidmain(String[]args){

//创建集合对象

ArrayListarray=newArrayList();

//创建并添加元素

array.add("hello");

array.add("world");

array.add("java");

//遍历集合

//迭代器

Iteratorit=array.iterator();

while(it.hasNext()){

Strings=it.next();

System.out.println(s);

}

System.out.println("------------------");

//普通for

for(intx=0;x

Strings=array.get(x);

System.out.println(s);

}

System.out.println("------------------");

//增强for

for(Strings:

array){

System.out.println(s);

}

}

}

2迭代器

packagecn.itcast_01;

importjava.util.ArrayList;

importjava.util.Iterator;

/*

*需求:

ArrayList存储自定义对象并遍历。

要求加入泛型,并用增强for遍历。

*A:

迭代器

*B:

普通for

*C:

增强for

*

*LinkedList,Vector,Colleciton,List等存储我还讲吗?

不讲解了,但是要求你们练习。

*

*增强for是用来替迭代器。

*/

publicclassArrayListDemo2{

publicstaticvoidmain(String[]args){

//创建集合对象

ArrayListarray=newArrayList();

//创建学生对象

Students1=newStudent("林青霞",27);

Students2=newStudent("貂蝉",22);

Students3=newStudent("杨玉环",24);

Students4=newStudent("西施",21);

Students5=newStudent("王昭君",23);

//把学生对象添加到集合中

array.add(s1);

array.add(s2);

array.add(s3);

array.add(s4);

array.add(s5);

//迭代器

Iteratorit=array.iterator();

while(it.hasNext()){

Students=it.next();

System.out.println(s.getName()+"---"+s.getAge());

}

System.out.println("---------------");

//普通for

for(intx=0;x

Students=array.get(x);

System.out.println(s.getName()+"---"+s.getAge());

}

System.out.println("---------------");

//增强for

for(Students:

array){

System.out.println(s.getName()+"---"+s.getAge());

}

}

}

3增强for循环

packagecn.itcast_01;

importjava.util.ArrayList;

importjava.util.List;

/*

*JDK5的新特性:

自动拆装箱,泛型,增强for,静态导入,可变参数,枚举

*

*增强for:

是for循环的一种。

*

*格式:

*for(元素数据类型变量:

数组或者Collection集合){

*使用变量即可,该变量就是元素

*}

*

*好处:

简化了数组和集合的遍历。

*

*弊端:

增强for的目标不能为null。

*如何解决呢?

对增强for的目标先进行不为null的判断,然后在使用。

*/

publicclassForDemo{

publicstaticvoidmain(String[]args){

//定义一个int数组

int[]arr={1,2,3,4,5};

for(intx=0;x

System.out.println(arr[x]);

}

System.out.println("---------------");

//增强for

for(intx:

arr){

System.out.println(x);

}

System.out.println("---------------");

//定义一个字符串数组

String[]strArray={"林青霞","风清扬","东方不败","刘意"};

//增强for

for(Strings:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1