`
lj_gzy2014
  • 浏览: 17793 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

java编程之集合框架

    博客分类:
  • java
阅读更多

            在写哈弗曼编码时,看到了优先队列,可是不会用,就用数组排序代替了。现在弄明白了,写出来,希望对读者有所帮助。

            优先队列的使用需要实现Comparator接口,具体代码如下:

package learning_lev1_集合框架;

import java.util.Comparator;
import java.util.PriorityQueue;

public class Pq {
	public void testPriQueue(){
		
		//使用匿名内部类实现comparator接口,匿名类的对象为comp
		Comparator<Student> comp=new Comparator<Student>() {
			//实现接口里面的方法,选择age作为比较大小的对象
			public int compare(Student o1, Student o2) {
				Student stu1=o1;
				Student stu2=o2;
				if(stu1.getAge()>stu2.getAge())return 1;
				else if(stu1.getAge()<stu2.getAge())return -1;
				else return 0;
			}
		};
		
		//比较器的对象作为优先队列的参数,才能实现优先队列每次按要求取得最大最小值
		PriorityQueue<Student> queue=new PriorityQueue(1,comp);
		
		Student stu1=new Student("唐僧", 30, 01);
		Student stu2=new Student("悟空",32,02);
		Student stu3=new Student("八戒", 34,03);
		Student stu4=new Student(" 沙僧 ",31,04);
		queue.add(stu2);
		queue.add(stu1);
		queue.add(stu4);
		queue.add(stu3);
		
		//peek()与poll()的区别是,调用peek()后,队列中的元素
		//个数不变,而调用poll()后,最大或最小键值元素被去除
		Student student=queue.peek();
		//Student student=queue.poll();
		System.out.println(queue.size());
		System.out.println(student);
		
	}
	public static void main(String[] args) {
		new Pq().testPriQueue();
	}

}

------------------------------------------------------------------------------------------------
package learning_lev1_集合框架;

public class Student {
	private int num;
	private String name;
	private int age;
	public int getNum() {
		return num;
	}
	public void setNum(int num) {
		this.num = num;
	}

	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	
	public Student(String name, int age,int num) {
		this.name = name;
		this.age = age;
		this.num=num;
	}
	
	public String toString(){
		return "编号"+num+",姓名:"+name+",年龄:"+age;
	}
	
}









 

分享到:
评论

相关推荐

    学士后Java集合框架和泛型课后习题答案

    Java集合框架是Java编程语言中的一个核心组成部分,它为数据存储和操作提供了丰富的类库。在Java中,集合框架主要包括接口(如List、Set、Queue)和实现这些接口的类(如ArrayList、HashSet、LinkedList等)。这个...

    java集合 框架 泛型

    Java集合框架是Java编程语言中一个至关重要的组成部分,它为数据存储和操作提供了丰富的类库。泛型是Java 5引入的一项创新特性,极大地增强了集合框架的安全性和效率。本讲解将深入探讨这两个主题,以及与之相关的...

    集合框架学习笔记

    集合框架是Java编程语言中的核心组成部分,它提供了一套高效、灵活的数据结构和算法操作,使得程序员能够方便地存储和管理对象。这篇学习笔记将深入探讨Java集合框架的基础概念、主要类库以及常见应用场景。 首先,...

    Java集合框架详解

    Java集合框架是Java编程语言中不可或缺的一部分,它提供了一种高效、灵活的方式来存储和操作数据。这个框架由一系列接口和类组成,它们定义了不同类型的集合,如List、Set和Map,以及它们的操作方法和实现原理。理解...

    Java集合框架学习笔记

    Java集合框架是Java编程语言中一个至关重要的组成部分,它提供了数据结构和算法的抽象,使得开发者可以方便地存储和管理各种类型的数据。本篇将详细探讨Java集合框架的基础知识,包括核心接口、类的层级结构以及Java...

    数据结构和Java集合框架

    数据结构和Java集合框架是Java编程中至关重要的概念,它们是高效编程和算法设计的基础。在Java中,数据结构指的是组织、存储和管理数据的方式,而集合框架则是一组接口和类,为处理各种数据结构提供了统一的API。 ...

    JAVA学习Java集合框架.pptx

    JAVA集合框架学习笔记 JAVA集合框架是Java语言中提供的一种数据结构,用于存储和管理大量数据。它提供了多种接口和实现类,例如Collection、List、Map等,帮助开发者更方便地处理数据。 什么是异常? 在Java中,...

    Java集合框架(JCF:Java Collections Framework)之概述

    Java 集合框架(JCF:Java Collections Framework)之概述 Java 集合框架(JCF:Java Collections Framework)是 Java 语言中的一组类库,用于实现集合操作的统一标准。集合是计算机科学中的一种基本概念,来源于...

    java集合框架全面进阶.pdf

    Java集合框架是Java编程语言中处理对象集合的一套接口和类。该框架提供了用于存储和操作集合的标准方法。在Java集合框架中,基本的接口分为两大类:Collection和Map。 Collection接口用于表示一组对象,称为其元素...

    Java集合框架.ppt

    Java集合框架是Java编程语言中一个非常重要的组成部分,它为开发者提供了处理对象集合的统一接口和实现。在Java中,集合框架主要由一系列接口和类组成,这些接口和类定义了存储、操作和管理对象的基本行为。让我们...

    Java集合框架常见面试题.pdf

    Java集合框架是Java编程语言中的核心部分,它提供了一组高效、灵活的数据结构,使得开发者可以方便地存储和管理各种类型的数据。Java集合框架主要包括两大类:Collection和Map。 Collection接口是所有单值容器的父...

    Java集合框架使用总结

    ### Java集合框架使用总结 #### 前言 本文旨在为读者提供关于Java集合框架的概览性介绍,帮助理解其整体架构与设计理念。对于希望深入掌握特定接口或类使用方法的学习者,建议查阅官方提供的Java API文档。 #### ...

    JAVA泛型与集合框架PPT课件PPT学习教案.pptx

    JAVA泛型与集合框架知识点总结 JAVA泛型是JDK1.5中引入的一种机制,主要目的是可以建立具有类型安全的集合...Java泛型和集合框架是Java语言的重要组成部分,掌握它们可以使得开发者更好地开发高效、可靠的应用程序。

    轻松学Java之集合框架优秀PPT.pptx

    Java集合框架是Java编程语言中的核心部分,它提供了一套高效、灵活的数据管理机制,使得开发者可以方便地处理各种数据结构。本章我们将深入探讨Java集合框架,包括其概念、接口以及不同类型的集合结构。 首先,集合...

    一个讲解很清晰的Java集合框架PPT

    Java集合框架是Java编程语言中不可或缺的一部分,它提供了一组接口和类,用于高效地存储、管理和操作数据。这个“一个讲解很清晰的Java集合框架PPT”显然是一个对外公开的教育资源,旨在帮助学习者深入理解Java集合...

Global site tag (gtag.js) - Google Analytics