java中级——集合框架【1】

集合框架----ArrayList

引子:我们先来看看传统数组的用法

  1. 写一个Hero对象类

    package cn.jse.t1;

    public class Hero {

    public String name;

    public float hp;

    public int damage;

    public Hero(){}

    //增加一个初始化name的构造方法

    public Hero(String name){

    this.name=name;

    }

    //重写一个toString 方法

    public String toString(){

    return name;

    }

    }

  2. 写一个测试类

    package cn.jse.t1;

    public class TestCollection {

    public static void main(String[] args) {

    //数组的局限性

    Hero hero[] = new Hero[10];

    //分析:声明了长度为10的数组,如果不用完就是浪费内存,超过了10个又放不下

    hero[0] = new Hero("ADC");

    hero[11]= new Hero("Mid");    //这里超过了10个就会报错

    }

    }

  3. 为了解决这种的尴尬局面,我们可以使用容器类ArrayList,我们增加一些代码在测试类里面。

    package cn.jse.t1;

    import java.util.ArrayList;

    public class TestCollection {

    public static void main(String[] args) {

    ...

    //为了解决数组的局限性,引入了容器类的概念

    ArrayList heros=new ArrayList();

    heros.add(new Hero("中单"));

    //输出一下当前的容器的容量

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

    heros.add(new Hero("辅助"));

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

    //结果发现容器的容量是随着对象的增加而增加的,就不用考虑数组的边界问题了

    }

    }

    我们可以看下控制台的输出:

    1

    2

  4. 我们可以看看ArrayList的常用方法:

    使用方法:我们还是在测试类中增加新的代码(add、contains)

    package cn.jse.t1;

    import java.util.ArrayList;

    public class TestCollection {

    public static void main(String[] args) {

    ...

    //接下来我们可以看看ArrayList的常用方法

    ArrayList<Hero> heros2=new ArrayList<Hero>();

    //把五个对象放入ArrayList中

    for(int i=0;i<5;i++){

    heros2.add(new Hero("hero " + i));

    }

    System.out.println(heros);

    // 在指定位置增加对象 比如在下标3位置add一个superhero

    Hero superHero = new Hero("Super hero");

    heros2.add(3, superHero);

    //将数组中所有的hero输出

    System.out.println(heros2.toString());

    //通过方法contains 判断一个对象是否在容器中

    System.out.println("那么这个Hero6在不在这里面呢?  回答是:"+heros2.contains(new Hero("hero6")));

    System.out.println("那么这个superHero在不在这里面呢?  回答是:"+heros2.contains(superHero));

    }

    }

     

    控制台输出:

    [中单, 辅助]   //这里是因为我们之前有加了2个hero

    [hero 0, hero 1, hero 2, Super hero, hero 3, hero 4]

    那么这个Hero6在不在这里面呢?  回答是:false

    那么这个superHero在不在这里面呢?  回答是:true

    其他的方法就不一一列举了,有兴趣的同学可以看看相关的知识点

时间: 2024-08-10 21:28:36

java中级——集合框架【1】的相关文章

java的集合框架之一

java是一套很成熟的东西,很多商用的东西都喜欢用它,用的人多,稳定.不过一般也不怎么说起它,因为太常见了,私下里说,写java应用层得就像农民工,每一处都是搭积木,根据设计师的东西如何优雅地搭好积木,当然美其名曰,论农民工搭积木的艺术修养.不难,但是东西很多,经验在里面是一个相当重要的东西.以上纯属每天扯淡,笑看即可,毕竟我目前就是个渣java程序员. java的集合框架以collection接口当作基础,这个接口定义了基本框架,包括size.hashcode.iterator.add.add

java.util 集合框架集合

java的集合框架为程序提供了一种处理对象组的标准方式.设计了一系列标准泛型接口: ⑴Collection ()接口,扩展了Iterable接口,位于集合层次结构的顶部,因此所有的集合都实现Collection接口,并提供了iterator()方法来返回一个迭代器.用add()方法添加对象,remove方法()删除元素,clear()删除集合所有元素(size=0),contains()方法查看集合是否包含对象,toArray()方法返回集合元素数组,equals()方法比较两个集合是否相等,s

java的集合框架最全详解

java的集合框架最全详解(图) 前言:数据结构对程序设计有着深远的影响,在面向过程的C语言中,数据库结构用struct来描述,而在面向对象的编程中,数据结构是用类来描述的,并且包含有对该数据结构操作的方法. 在Java语言中,Java语言的设计者对常用的数据结构和算法做了一些规范(接口)和实现(具体实现接口的类).所有抽象出来的数据结构和操作(算法)统称为Java集合框架(JavaCollectionFramework). Java程序员在具体应用时,不必考虑数据结构和算法实现细节,只需要用这

Java的集合框架最全详解(图)

纯个人整理,如有错误请指正. java的集合框架最全详解(图) 前言:数据结构对程序设计有着深远的影响,在面向过程的C语言中,数据库结构用struct来描述,而在面向对象的编程中,数据结构是用类来描述的,并且包含有对该数据结构操作的方法. 在Java语言中,Java语言的设计者对常用的数据结构和算法做了一些规范(接口)和实现(具体实现接口的类).所有抽象出来的数据结构和操作(算法)统称为Java集合框架(JavaCollectionFramework). Java程序员在具体应用时,不必考虑数据

Java:集合框架的工具类

集合框架的工具类 Arrays:里面都是静态方法,直接用来对各种集合进行操作的公有方法. Collections:里面都是静态方法,直接用来对各种集合进行操作的公有方法. 包括: 1.asList将数组变成list集合: static <T> List<T> asList(T... a) 返回一个受指定数组支持的固定大小的列表. //例子1: import java.util.*; class ArraysTest { public static void sop(Object o

Java 之 集合框架(JCF)

1.集合框架 a.框架:为了实现某一目的或功能,而预先提供的一系列封装好的.具有继承或实现关系的类与集合 b.集合:①定义:Java中对一些数据结构和算法进行封装,即封装(集合也是一种对象) ②特点:元素类型可以不同,集合长度可变,空间不固定 c.集合框架:提供了管理集合的接口和类 2.Collection 与 Collections a.Collection:是一个接口,装东西的集合接口 (核心接口) b.Collections:是一个算法类,操作即可的算法类 3.Collection Col

JAVA常用集合框架用法详解基础篇一之Colletion接口

首先,在学习集合之前我们能够使用的可以存储多个元素的容器就是数组. 下面举几个例子主要是引出集合类的: 1.8,4,5,6,7,55,7,8  像这样的类型相同的可以使用数组来存储,本例可以用int[] arr来存储. 2."zhnagsan",true,68 像这样的可以使用StringBuilder或者StringBuffer来存储,但最终需要使用.toString()的方法转换成字符串才可以使用.即 变为:"zhnagsantrue68". 3."李

黑马程序员——Java基础---集合框架工具类

黑马程序员——Java基础<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培训..Net培训</a>.期待与您交流! ------ 一.概述 Java为操作Set.List和Map提供了一系列工具类,主要有Collections和Arrays.这两个工具类的特点:类中的方法都是静态的,不需要创建对象,直接使用类名调用即可.Collections:是集合对象

java之集合框架

1.集合的由来: 我们学习的是面向对象的语言.而面向对象语言对事物的描述是通过对象体现的.为了方便对多个对象进行操作,我们就必须把多个对象进行存储.而要想存储多个对象,就不能是一个基本的变量,而应该是一个容器类型的变量.在我们目前所学过的知识里面,有哪些是容器类型的呢?数组和StringBuffer.但是StringBuffer的结果是一个字符串, 不一定符合我们的要求,所以我们只能选择数组,这就是对象数组.而对象数组又不能适应变化的需求.因为数组的长度是固定的.这个时候,为了适应变化的需求,j