java中什么是集合类_java中集合类

(1)集合类和数组:集合类和数组都是容器,集合类和数组的不同之处是:数组的长度是固定的,而集合类的长度不固定;数组用来存放基本数据类型,而集合用来存放引用数据类型。

(2)常用的集合有:List集合,set集合,map集合,其中List集合和Map集合是实现collection接口的。

8c0acedc780e32f908ef3a86b98e4aa7.png

(3)collection接口,List接口,Set接口:

collection接口是,List和Set的父接口。list是有序集合,除Iteable接口和Collection接口所有方法外,增加所有和index有关的方法,比如add(int index,E e),remove(int index)...常用实现类ArrayList,LinkedList,Vector;set无序集合,继承自Collection,不含重复元素的集合,最多包含一个null,常见实现类HashSet,TreeSet;

package Day09Homework02;

import java.util.ArrayList;

import java.util.List;

import java.util.Scanner;

public class ListDemo {

private List list=new ArrayList();

public void studentAdd(){

list.add(new Student("aa",18));

list.add(new Student("bb",19));

list.add(new Student("cc",14));

}

//编写代码实现使用姓名查找并打印学员(找不到要给与提示)

public void findByName(){

System.out.println("通过姓名查找");

Scanner input=new Scanner(System.in);

String inName=input.next();

for(int i=0;i

if(inName.equals(list.get(i).getName())){

System.out.println("name\tage");

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

}

System.out.println("没有找到");

}

input.close();

}

//编写代码实现使用姓名删除某个学员

public void delStudent(){

System.out.println("通过姓名查找要删除的学生信息");

Scanner input=new Scanner(System.in);

String inName=input.next();

for(int i=0;i

if(inName.equals(list.get(i).getName())){

list.remove(i);

}

else {

}

}

input.close();

}

//编写代码实现根据名字修改学员

public void changeStudent(){

System.out.println("通过姓名查找要修改的学生信息:");

Scanner input=new Scanner(System.in);

String inName=input.next();

for(int i=0;i

if(inName.equals(list.get(i).getName())){

System.out.println("修改姓名:");

String cname=input.next();

list.get(i).setName(cname);

int cage=input.nextInt();

list.get(i).setAge(cage);

}

else {

}

}

input.close();

}

//打印学生信息

public void printStu(){

for(Student stu:list){

System.out.println(stu);

}

}

}

(4)ArrayList类和LinkedList类:

ArrayList内部结构是数组,跟适合添加,遍历,查找,索引(随机访问),不易进行更改内部操作。LinkedList内部结构是链表,更适合于频繁的中间删除,插入,提供更多方法供使用。

(5)set接口和HashSet类,TreeSet类

set里面的元素是不能重复烦人:hashset通过重写添加元素类模板的hashCode,equals方法来判断元素是否重复,无序集合,最多包含一个null元素,TreeSet需要根据类模板中的compareTo或构造器里的compare判断元素是否重复以及排序先后。

(6)map接口和hashMap类,TreeMap类

hashMap类是基于哈希表的Map接口实现,此类实现了map中的映射,并允许使用null值和null键,但必须保证键的唯一性,hashMap通过哈希码对其内部的映射关系进行快速查找。此类不保证映射的顺序。TreeMap类将键值对按照一定的顺序排列。因此不允许键对象是null

(7)迭代器

(8)list集合类排序,map集合类排序

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值