Java核心编程 :集合框架

集合框架概括:
集合代表了一组对象(和数组一样,但数组长度不能变,而集合能)。java中的集合框架定义了一套规范

用来表示、操作集合,使具体操作与实现细节解藕。
集合框架主要的是“增删改查"

集合的三个特点:
  1.   集合是用于存储对象的容器
  2. 集合的长度是可变的
  3.   集合不可以存储基础数据类型

Collection(采集)接口提供及常用的方法:
 
Collection c= new ArrayList();
c.add(1);
  1. 增:addaddAll
  2. 删:removeremoveAllclear
  3. 改:
  4. 查:binarySearchListlist,T key)、binarySearchListlist,T key, Comparator com
  5. 最小值:min(Collectionc)min(Collectionc, Comparator com)
  6. 最大值:max(Collectionc)max(Collectionc, Comparator com)
  7. 排序:sort(Listlist)sort(Listlist, Comparator com)
  8. 逆序:reverse(Listlist)
  9. 乱序:shuffle(List list)

代码演示:
public class Test {
    public static void main(String[] args) {
        List<Double> list = new ArrayList<Double>();

        list.add(33.1);
        list.add(11.1);
        list.add(22.1);
        list.add(55.1);
        list.add(44.1);
        System.out.println(list);

        System.out.println("最大值:"+Collections.max(list));

        int index = Collections.binarySearch(list,22.1);
        System.out.println("22.1所在位置:"+index);

        System.out.println("逆序:");
        Collections.reverse(list);
        System.out.println(list);

        System.out.println("排序:");
        Collections.sort(list);
        System.out.println(list);

        System.out.println("乱序:");
        Collections.shuffle(list);
        System.out.println(list);
    }
}
结果:
[33.1, 11.1, 22.1, 55.1, 44.1]
最大值:55.1
22.1所在位置:2
逆序:
[44.1, 55.1, 22.1, 11.1, 33.1]
排序:
[11.1, 22.1, 33.1, 44.1, 55.1]
乱序:
[33.1, 22.1, 55.1, 11.1, 44.1]
Process finished with exit code 0

Map(映射):
将唯一的键映射到值

Map是以键值对形式存储数据

HashMap是Map接口的实现类



存:put(K key, V value)

map.put( "第四个数" , 44 );
结果:

{第一个数=11, 第二个数=22, 第四个数=44, 第三个数=33}

取: get(K key)

Integer x=map.get("第三个数");

33

Set(集合):

Set 具有与 Collection 完全一样的接口,只是行为上不同, Set 不保存重复的元素

List有序可重复

list.add(33.1);

Set无序不重复。

set.add( 11 );

HashSet是Set的实现类

Set<Integer> set=newHashSet<Integer>();

结果:

[11, 12, 13]
List:

Vector是“向量”的含义,也就是动态数组。除了实现了接口的方法,还额外提供了setgetindexOfsubListsize等方法;

Vector<Integer> v1= new Vector<Integer>();
Stack(堆栈):
tack继承自Vector,额外增加pushpoppeek等方法;
代码:

public class Test {
    public static void main(String[] args) {
        Stack<Integer> stack = new Stack<Integer>();
        stack.push(11);
        stack.push(22);
        stack.push(33);
        System.out.println(stack);
        System.out.println(stack.peek());
        System.out.println(stack);
        System.out.println(stack.pop());
        System.out.println(stack);
    }
}


结果:
[11, 22, 33]
33
[11, 22, 33]
33
[11, 22]
Process finished with exit code 0

LinkedList实现了List,还额外增加了addFirstaddLastgetFirst
比之前的减省

迭代器(Iterator):

 
 
public class Demo { public static void main(String[] args) { HashSet h= new HashSet(); h.add( 1); h.add( 2); h.add( 3); h.add( 4); h.add( 5); Iterator i=h.iterator(); while (i.hasNext()){ System. out.println(i.next()); } } }

Java核心技术》出版以来一直畅销不衰,深受读者青睐,每个新版本都尽可能快地跟上Java开发工具箱发展的步伐,而且每一版都重新改写了部分内容,以便适应Java的最新特性。本版也不例外,它反映了Java SE 6的新特性。全书共14章,包括Java基本的程序结构、对象与类、继承、接口与内部类、图形程序设计、事件处理、Swing用户界面组件、部署应用程序和Applet、异常日志断言和调试、泛型程序设计、集合以及多线程等内容。. 全书对Java技术的阐述精确到位,叙述方式深入浅出,并包含大量示例,从而帮助读者充分理解Java语言以及Java类库的相关特性。对于想将Java应用于实际项目中的程序员来说,《Java核心技术——基础知识》修订版是一本权威性的指导书籍。对于Java SE 6平台的全部更新,这本实用的教程和可靠的参考书通过大量测试过的示例说明了最重要的语言特性和类库特性。示例程序经过精心地设计,不但具有实用价值,而且易读、易理解,可以作为自己编写程序的良好开端。.. 卷I试图让读者快速地了解Java SE 6的新特性,并帮助有效地从Java早期版本升级到最新版本,或从一种其他的语言变换为使用Java语言。作者十分注重Java语言的基本概念以及用户界面程序设计基础。下面是本卷详细介绍的主要内容: Java语言基础知识面向对象程序设计接口与内部类事件监听器模型 Swing图形用户界面程序设计打包应用程序异常处理登陆与调试泛型化程序设计集合框架多线程... 【作译者介绍】 本书提供作译者介绍 Cay S. Horstmann参与编写《Core JavaServer Faces》第2版(Prentice Hall, 2007)。Cay是圣何塞州立大学计算机科学系教授、Java的倡导者,并经常在计算机会议上讲演。. Cray Cornell已经编写并教授程序设计专业课程20余年,是Apress的创始人。他撰写的程序设计专业书籍十分畅销,是Jolt Award的最终获奖者之一,并通过Visual Basic资料赢得了Readers Choice。...
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值