【DataStructure】The description of generic collections

In this blog, generic collections will be talked about  in details.  In the past bacause of shortage of generic argument,  less importance has been attached to the this module. Just now after
reading the chapter about this knowledge, I gradually realized that they are so useful in the pactice, especially desgin the system achitect. Now make a summary about generic collections.

First, use the type argument

package com.albertshao.ds.generic;

public class EnumArgument {

	enum Week {
		Mon, Tus, Wed, Thu, Fri, Sta, Sun
	}

	public static void main(String args[])
	{
		Pair<Integer, Week> pairs = new Pair<Integer, Week>(2, Week.Mon);
		System.out.println(pairs);
	}
}

class Pair<S, T> {
	private S first;
	private T second;

	public Pair(S first, T second)
	{
		this.first = first;
		this.second = second;
	}

	public S getFirst() {
		return first;
	}

	public void setFirst(S first) {
		this.first = first;
	}

	public T getSecond() {
		return second;
	}

	public void setSecond(T second) {
		this.second = second;
	}

	public String toString()
	{
		return "("+first + "," + second+")";
	}
}

/**
 * output:(2,Mon)
 */

Second, use the generic methods

In addition to generic types, type parameters can also be used to define generic methods, identified by the generic parameter specifier<T> placed in front of the return type.

package com.albertshao.ds.generic;

public class TestPrint {

	public static void main(String[] args) {
		String[] weeks = new String[] { "Mon", "Tus", "Wed" };
		print(weeks);
	}

	static <E> void print(E[] a) {
		for (E e : a) {
			System.out.println(e);
		}
	}
}

/*
 * output:
 * Mon
 * Tus
 * Wed
 *
 */

Third , use generic wildcards

The symbol ?can be used as a wildcard, in place of a generic variable. It stands for “unknown type,” and is called the wildcard type.

package com.albertshao.ds.generic;

import java.util.Arrays;
import java.util.Collection;
import java.util.List;

public class TestWildCards {

	public static void main(String[] args) {
		List<String> strList = Arrays.asList("Fri", "Sat", "Sun");
		print(strList);
	}

	static void print(Collection<?> c) {
		for (Object o : c) {
			System.out.printf("%s ", o);
		}
		System.out.println();
	}
}

// output: Fri Sat Sun

【DataStructure】The description of generic collections,布布扣,bubuko.com

时间: 2024-12-26 17:13:40

【DataStructure】The description of generic collections的相关文章

【DataStructure】The description of Java Collections Framework

The Java Connections FrameWork is a group of class or method and interfacs in the java.util package. Its main purpose is to provide a unified framework for implementing common data structure. A collections is a object that contains other objects,whic

【DataStructure】The description and usage of Stack

A stack is collection that implements the last-in-first-out protocal.This means that the only access object in the collections is the last one thatwas inserted.The fundamental  operations of a stack are: add an element onto the top of stack, access t

【DataStructure】Description and usage of queue

[Description] A queue is a collection that implements the first-in-first-out protocal. This means that the only accessiable object in the collection in the first one that was inserted. The most common example of a queue is a waiting line. [Interface]

【DataStructure】Description and Introduction of Tree

[Description] At ree is a nonlinear data structure that models a hierarchical organization. The characteristic eatures are that each element may have several successors (called its "children") and every element except one (called the "root&

【DataStructure】Descriptioin and usage of List

Statements: This blog was written by me, but most of content  is quoted from book[Data Structure with Java Hubbard] [Description] Alistis a collection of elements that are accessible sequentially: the first element, followed by the second element, fo

【DataStructure】One of queue usage: Simulation System

Statements: This blog was written by me, but most of content  is quoted from book[Data Structure with Java Hubbard] [Description] This simulationillustrates objectoriented programming(OOP). Java objects are instantiated to represent all the interacti

【DataStructure】Implemantation of Binary Tree

Statements: This blog was written by me, but most of content  is quoted from book[Data Structure with Java Hubbard] Here is a class for binary trees that directly implements the recursive definition. By extending the AbstractCollectionclass, it remai

【DataStructure】Another usage of List: Polynomial

Statements: This blog was written by me, but most of content  is quoted from book[Data Structure with Java Hubbard] [Description] Apolynomialis a mathematical function of the form: p(x) = a0xn+ a1xn–1+a2xn–2+ ???+an–1x + an The greatest exponent, 

【DataStructure】 Classical Question: Josephus Cycle

[Description] This problem is based upon a report by the historian Joseph ben Matthias (Josephus) on the outcome of a suicide pact that he had made between himself and 40 soldiers as they were besieged by superior Roman forces in 67 A.D. Josephus pro