Java中有三种集合框架:
- List: List 是一个有序的集合,能够包含同样的元素(e1.equals(e2)),加上或者去掉元素。
List 集合也接受空的元素但是不能。
有两种List: 一个是ArrayList让我们得到元素比较快但是算慢当我们要加上或者去掉元素
另外一个 是LinkedList是比较快加上或者去掉元素但是比较慢得到元素。
List是Collection,Iterable借口的继承。
List 集合能实现这些类: AbstractList, AbstractSequentialList, ArrayList, AttributeList,
CopyOnWriteArrayList, LinkedList, RoleList, RoleUnresolvedList, Stack, Vector
List 的常用方法:
*boolean add(E e):在后面加上一个元素
*void add(int index, E element): 在中间加上元素
*void clear():删除所有的元素
*boolean equals():比较两个元素
*E getIndex(): 得到元素经过他的索引
*Iterator<E> iterator(): 返回这个集合的元素在Iterator,经常用这个方法打印的时候
*E remove(): 去掉一个元素
*E set(int index):交换元素在定义了的索引
*int size(): 查看集合的大小
*object[] toArray:把List集合变成一个数组
- Set: Set 是也个无序的集合而且不能有重复元素所以不包含equals()方法。
Set 最常用的引用是会员资格,看元素在不在Set中。
Set是Collection借口的继承。
常用的实现类是AbstractSet, HashSet, LinkedHashSet, TreeSet
Set的常用方法:
*boolean add(E e):在后面加上一个元素
*boolean contains(obejct o): 返回一个真当元素在Set中
*Iterator<E> iterator(): 返回这个集合的元素在Iterator,经常用这个方法打印的时候
*void clear():删除所有的元素
*boolean equals():比较两个元素
*int size(): 查看集合的大小
*object[] toArray:把List集合变成一个数组
- Map: Map不是Collection借口的继承是维护键(Key)/值对(Value)用的借口。
Map 能够返回他的维护键在Set中。
Map 常用方法:
*void clear():删除所有的元素
*V put(K Key, V Value): 加上元素
*V remove(object key):删除元素
*int size(): 返回Map中的维护键的数字
*boolean isEmpty(): 查看集合是否空的
*boolean equals(object): 比较两个元素经过他们的维护键
*boolean containsKey(object key): 返回真当集合包含指定维护键
*boolean containsValue(object value): 返回真当集合包含指定值对
import java.util.ArrayList;
public class ListTest {
// 主函数
public static void main(String[] args) {
ArrayList<Student> al = createList();//创建集合
Student stu2 = new Student("学生 5", 19);
al.add(stu2);
Student stu3 = new Student("学生 7", 35);
al.add(stu3);
System.out.println("原集合为:");
printList(al);//打印集合
System.out.println("================================================");
System.out.println("被改了的集合为:");
remove(al);
printList(al);//打印集合
System.out.println("---------->"+al.get(5).getName()+"\t"+ al.get(5).getScore());
}
public static void remove(ArrayList<Student> al){
Object[] obj = al.toArray();
for(int i= 0;i<obj.length; i++){
for(int j = i+1; j<obj.length; j++){
Student stu1 = (Student) obj[i];
Student stu2 = (Student) obj[j];
if(stu1.getName().equals(stu2.getName())){
al.remove(stu1);
}
}
}
}
// 定义List集合的方法
public static ArrayList<Student> createList(){
// 创建ArrayList 的对象
ArrayList<Student> al = new ArrayList<Student>();
for(int i= 0; i<10; i++){
Student stu = new Student("学生 "+i,(5*i));
al.add(stu);
}
return al;
}
// 打印方法
public static void printList(ArrayList<Student> al){
for(int i=0; i<al.size(); i++){
Student stu = al.get(i);
System.out.println(stu.getName()+"\t"+stu.getScore());
}
}
}
import java.util.HashSet;
import java.util.Set;
public class SetTest {
// 主函数
public static void main(String[] args) {
Set<Student> setTest = createSet();//创建集合
Student stu2 = new Student("学生 5", 25);
setTest.add(stu2);
Student stu3 = new Student("学生 7", 35);
setTest.add(stu3);
printSet(setTest);//打印集合
}
// 定义Set集合的方法
public static Set<Student> createSet(){
// 创建HashSet 的对象
Set<Student> setTest = new HashSet<Student>();
for(int i= 0; i<10; i++){
Student stu = new Student("学生 "+i,(5*i));
setTest.add(stu);
}
return setTest;
}
// 打印方法
public static void printSet(Set<Student> setTest){
java.util.Iterator<Student> iterator = setTest.iterator();
while(iterator.hasNext()){
Student stud = iterator.next();
System.out.println(stud.getName()+"\t"+stud.getScore());
}
}
}
import java.util.HashMap;
import java.util.Iterator;
public class MapTest {
// 主函数
public static void main(String[] args) {
HashMap<Integer,Student> hsMap = createHashMap();//创建集合
Student stu2 = new Student("学生 5", 19);
hsMap.put(12,stu2);
Student stu3 = new Student("学生 7", 35);
hsMap.put(13,stu3);
printList(hsMap);//打印集合
}
// 定义Map集合的方法
public static HashMap<Integer,Student> createHashMap(){
// 创建HashMap 的对象
HashMap<Integer,Student> hsMap = new HashMap<Integer,Student>();
for(int i= 0; i<10; i++){
Student stu = new Student("学生 "+i,(5*i));
hsMap.put(i,stu);
}
return hsMap;
}
// 打印方法
public static void printList(HashMap<Integer,Student> hsMap){
Iterator<Integer> iterator = hsMap.keySet().iterator();
while(iterator.hasNext()){
Integer key = iterator.next();
Student stu = hsMap.get(key);
System.out.println("Key: "+key+"\t value: "+stu.getName()+"\t"+stu.getScore());
}
}
}
分享到:
相关推荐
xmind格式的Java集合框架学习导图,包括Collection接口/Map接口以及具体实现类。 同样包含大厂面试题,也在导图中有所体现。 能学到什么: 更加成体系的知识框架,更加全面的、系统的知识。 思维导图: 思维导图具有...
Java集合框架是Java编程语言中的一个核心组成部分,它为存储、管理和操作对象提供了一套统一的接口和类。本文将深入解析Java集合框架的各个方面,包括Collection、List、Set和Map,以及它们的相关实现和使用原理。 ...
### Java集合框架总结 #### 一、Java集合框架概述 Java集合框架是Java标准库的一部分,它提供了一系列的接口和类来存储和操作各种类型的对象集合。这些接口和类遵循一致的设计模式,使得开发人员可以方便地管理和...
### Java集合框架详解 #### 一、Java集合框架概述 Java集合框架是Java标准库的重要组成部分,它提供了存储和操作对象的各种数据结构。通过使用集合框架,开发人员可以轻松地管理不同类型的数据集,并且能够利用...
Java集合框架是Java编程语言中一个至关重要的组成部分,它提供了数据结构和算法的抽象,使得开发者可以方便地存储和管理各种类型的数据。本篇将详细探讨Java集合框架的基础知识,包括核心接口、类的层级结构以及Java...
集合是将多个元素组成一个单元的...Java集合框架,为我们提供了一套性能优良、使用方便的接口和类,我们不必再重新发明轮子,只需学会如何使用它们,就可以处理实际应用中出现的问题了Java集合框架位于java.util包中
Java集合框架是Java编程语言中的核心部分,它提供了一组高效、灵活的数据结构,使得开发者可以方便地存储和管理各种类型的数据。Java集合框架主要包括两大类:Collection和Map。 Collection接口是所有单值容器的父...
本文档为本人学习 java 集合框架期间的学习总结笔记,希望对新学习的朋友有所帮助和参考价值。本人java 开发时间不是太长,可能存在不完善或不对之处,欢迎指正!
6.java集合框架.zip6.java集合框架.zip6.java集合框架.zip6.java集合框架.zip6.java集合框架.zip6.java集合框架.zip6.java集合框架.zip6.java集合框架.zip6.java集合框架.zip6.java集合框架.zip6.java集合框架.zip6....
JAVA学习 Java集合框架.ppt
面渣逆袭 Java 集合框架篇.pdf面渣逆袭 Java 集合框架篇.pdf面渣逆袭 Java 集合框架篇.pdf面渣逆袭 Java 集合框架篇.pdf面渣逆袭 Java 集合框架篇.pdf面渣逆袭 Java 集合框架篇.pdf面渣逆袭 Java 集合框架篇.pdf面渣...
Java集合框架,set、list接口及其子集,接口的继承关系
根据提供的信息,我们可以总结并详细解释关于Java集合框架的一些关键知识点。这些知识点主要涉及Java集合框架中的各种数据结构,如List、Set、Map等,并深入探讨了它们在实际应用中的特性与用途。 ### Java集合框架...
《数据结构和Java集合框架》是清华大学出版社出版的一本经典教材,主要涵盖了计算机科学中的核心概念——数据结构以及Java编程语言中的集合框架。这本书通过深入浅出的方式,讲解了如何用Java实现各种常用的数据结构...
一个扑克游戏,用于Java集合框架练习一个扑克游戏,用于Java集合框架练习 一个扑克游戏,用于Java集合框架练习一个扑克游戏,用于Java集合框架练习 一个扑克游戏,用于Java集合框架练习一个扑克游戏,用于Java集合...
Java集合框架是Java编程语言中一个至关重要的组成部分,它为数据存储和操作提供了丰富的类库。泛型是Java 5引入的一项创新特性,极大地增强了集合框架的安全性和效率。本讲解将深入探讨这两个主题,以及与之相关的...
List set ArraryList Map java集合框架笔记 基于Array的List,其实就是封装了Array所不具备的一些功能方便我们使用