java里面集合框架是比较重要的基础知识,虽然不是很难,但经常使用,特别是ArrayList、HashMap经常用到。java集合框架大致分为三个部分,分别是List、Set、Map,这三个都是接口,其具体实现有多个类,但常用的分别是ArrayList、HashSet、HashMap,下面分别总结一下这三者的基本使用方法。
(1)ArrayList使用较广,其功能相当于一个数组队列,存取速度快,具体使用,请看下面的代码:
写道
package com.gzy0930_L2集合类;
import java.util.ArrayList;
//集合类的使用
public class L2_1 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
ArrayList<Student> al=new ArrayList<>();
Student stu1=new Student();
Student stu2=new Student();
Student stu3=new Student();
stu1.setSno(01);
stu1.setAge(10);
stu1.setSname("孙悟空");
stu2.setSno(02);
stu2.setAge(20);
stu2.setSname("猪八戒");
stu3.setSno(03);
stu3.setAge(30);
stu3.setSname("沙悟净");
//增加对象
al.add(stu1);
al.add(stu2);
al.add(stu3);
//遍历
for(int i=0;i<al.size();i++){
Student stu=al.get(i);
System.out.println("第"+(i+1)+"个学生的姓名为:"+stu.getSname()+"\n学号为:"+stu.getSno()+"\n年龄为:"+stu.getAge());
}
//删除第一个对象
al.remove(0);
for(int i=0;i<al.size();i++){
Student stu=al.get(i);
System.out.println("第"+(i+1)+"个学生的姓名为:"+stu.getSname()+"\n学号为:"+stu.getSno()+"\n年龄为:"+stu.getAge());
}
Student stu4=new Student();
stu4.setSno(04);
stu4.setAge(40);
stu4.setSname("唐僧");
//在指定位置添加对象
al.add(0, stu4);
for(int i=0;i<al.size();i++){
Student stu=al.get(i);
System.out.println("第"+(i+1)+"个学生的姓名为:"+stu.getSname()+"\n学号为:"+stu.getSno()+"\n年龄为:"+stu.getAge());
}
}
}
import java.util.ArrayList;
//集合类的使用
public class L2_1 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
ArrayList<Student> al=new ArrayList<>();
Student stu1=new Student();
Student stu2=new Student();
Student stu3=new Student();
stu1.setSno(01);
stu1.setAge(10);
stu1.setSname("孙悟空");
stu2.setSno(02);
stu2.setAge(20);
stu2.setSname("猪八戒");
stu3.setSno(03);
stu3.setAge(30);
stu3.setSname("沙悟净");
//增加对象
al.add(stu1);
al.add(stu2);
al.add(stu3);
//遍历
for(int i=0;i<al.size();i++){
Student stu=al.get(i);
System.out.println("第"+(i+1)+"个学生的姓名为:"+stu.getSname()+"\n学号为:"+stu.getSno()+"\n年龄为:"+stu.getAge());
}
//删除第一个对象
al.remove(0);
for(int i=0;i<al.size();i++){
Student stu=al.get(i);
System.out.println("第"+(i+1)+"个学生的姓名为:"+stu.getSname()+"\n学号为:"+stu.getSno()+"\n年龄为:"+stu.getAge());
}
Student stu4=new Student();
stu4.setSno(04);
stu4.setAge(40);
stu4.setSname("唐僧");
//在指定位置添加对象
al.add(0, stu4);
for(int i=0;i<al.size();i++){
Student stu=al.get(i);
System.out.println("第"+(i+1)+"个学生的姓名为:"+stu.getSname()+"\n学号为:"+stu.getSno()+"\n年龄为:"+stu.getAge());
}
}
}
(2)为优化查询速度而设计的Set。要放进HashSet里面的Object还得定义hashCode()。一定要记住,Set要有一个判断以什么顺序来存储元素的标准,也就是说你必须实现Comparable接口,并且定义compareTo()方法。 要使用的学生类代码如下:
package com.gzy0930_L2集合类; public class Student { private int sno; private String sname; private int age; public void setSno(int sno){ this.sno=sno; } public void setSname(String sname){ this.sname=sname; } public void setAge(int age){ this.age=age; } public int getSno(){ return sno; } public String getSname(){ return sname; } public int getAge(){ return age; } }
(3)Map是一种键对象和和值对象相关联的一种容器,HashMap是Map的一种实现,里面有key和value一一映射,key值唯一,如果后面重复前面的键值,就会将前面的数据覆盖,不会出现两个相同的key。HashMap相当于数组与链表的结合,存取速度快而且便于删除添加,HashMap使用通过key找到相应的value,遍历需要用到迭代器Iterator。代码如下:
package com.gzy0930_L2集合类; import java.util.HashMap; import java.util.Iterator; //hashmap中有个键值唯一标识每一个元素,使存入其中的对象不会有重复 //可避免重复 //hashmap先进先出 public class L2_5 { public static void main(String[] args) { HashMap<String,Student> hm=new HashMap<>(); Student stu1=new Student(); Student stu2=new Student(); Student stu3=new Student(); stu1.setSno(01); stu1.setAge(10); stu1.setSname("孙悟空"); stu2.setSno(02); stu2.setAge(20); stu2.setSname("猪八戒"); stu3.setSno(03); stu3.setAge(30); stu3.setSname("沙悟净"); //添加方式有所不同 /** * 如果后面的键值和前面相同,就会覆盖其前面的对象, * hashmap中不可能出现两个相同的键值 */ hm.put("001", stu1); hm.put("002", stu2); hm.put("003", stu3); //遍历 Iterator<String> it=new Iterator<String>() { public boolean hasNext() { return false; } public String next() { return null; } public void remove() { } }; it=hm.keySet().iterator(); int i=0; while(it.hasNext()){ i++; String key=it.next().toString(); Student stu=hm.get(key); System.out.println("第"+(i)+"个学生的姓名为:"+stu.getSname()+"\n学号为:"+stu.getSno()+"\n年龄为:"+stu.getAge()); } } }
相关推荐
Java集合框架是Java编程语言中的一个核心组成部分,它为数据存储和操作提供了丰富的类库。在Java中,集合框架主要包括接口(如List、Set、Queue)和实现这些接口的类(如ArrayList、HashSet、LinkedList等)。这个...
Java集合框架是Java编程语言中一个至关重要的组成部分,它为数据存储和操作提供了丰富的类库。泛型是Java 5引入的一项创新特性,极大地增强了集合框架的安全性和效率。本讲解将深入探讨这两个主题,以及与之相关的...
集合框架是Java编程语言中的核心组成部分,它提供了一套高效、灵活的数据结构和算法操作,使得程序员能够方便地存储和管理对象。这篇学习笔记将深入探讨Java集合框架的基础概念、主要类库以及常见应用场景。 首先,...
Java集合框架是Java编程语言中不可或缺的一部分,它提供了一种高效、灵活的方式来存储和操作数据。这个框架由一系列接口和类组成,它们定义了不同类型的集合,如List、Set和Map,以及它们的操作方法和实现原理。理解...
Java集合框架是Java编程语言中一个至关重要的组成部分,它提供了数据结构和算法的抽象,使得开发者可以方便地存储和管理各种类型的数据。本篇将详细探讨Java集合框架的基础知识,包括核心接口、类的层级结构以及Java...
数据结构和Java集合框架是Java编程中至关重要的概念,它们是高效编程和算法设计的基础。在Java中,数据结构指的是组织、存储和管理数据的方式,而集合框架则是一组接口和类,为处理各种数据结构提供了统一的API。 ...
JAVA集合框架学习笔记 JAVA集合框架是Java语言中提供的一种数据结构,用于存储和管理大量数据。它提供了多种接口和实现类,例如Collection、List、Map等,帮助开发者更方便地处理数据。 什么是异常? 在Java中,...
Java 集合框架(JCF:Java Collections Framework)之概述 Java 集合框架(JCF:Java Collections Framework)是 Java 语言中的一组类库,用于实现集合操作的统一标准。集合是计算机科学中的一种基本概念,来源于...
Java集合框架是Java编程语言中处理对象集合的一套接口和类。该框架提供了用于存储和操作集合的标准方法。在Java集合框架中,基本的接口分为两大类:Collection和Map。 Collection接口用于表示一组对象,称为其元素...
Java集合框架是Java编程语言中一个非常重要的组成部分,它为开发者提供了处理对象集合的统一接口和实现。在Java中,集合框架主要由一系列接口和类组成,这些接口和类定义了存储、操作和管理对象的基本行为。让我们...
Java集合框架是Java编程语言中的核心部分,它提供了一组高效、灵活的数据结构,使得开发者可以方便地存储和管理各种类型的数据。Java集合框架主要包括两大类:Collection和Map。 Collection接口是所有单值容器的父...
### Java集合框架使用总结 #### 前言 本文旨在为读者提供关于Java集合框架的概览性介绍,帮助理解其整体架构与设计理念。对于希望深入掌握特定接口或类使用方法的学习者,建议查阅官方提供的Java API文档。 #### ...
JAVA泛型与集合框架知识点总结 JAVA泛型是JDK1.5中引入的一种机制,主要目的是可以建立具有类型安全的集合...Java泛型和集合框架是Java语言的重要组成部分,掌握它们可以使得开发者更好地开发高效、可靠的应用程序。
Java集合框架是Java编程语言中的核心部分,它提供了一套高效、灵活的数据管理机制,使得开发者可以方便地处理各种数据结构。本章我们将深入探讨Java集合框架,包括其概念、接口以及不同类型的集合结构。 首先,集合...
Java集合框架是Java编程语言中不可或缺的一部分,它提供了一组接口和类,用于高效地存储、管理和操作数据。这个“一个讲解很清晰的Java集合框架PPT”显然是一个对外公开的教育资源,旨在帮助学习者深入理解Java集合...
Java集合框架是Java编程语言中一个非常重要的组成部分,它为开发者提供了存储和操作对象的统一接口和类。这个框架使得处理各种数据结构变得更加方便和高效。在这个“java集合框架的使用”主题中,我们将深入探讨如何...