博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《温故而知新》JAVA基础八
阅读量:5272 次
发布时间:2019-06-14

本文共 3689 字,大约阅读时间需要 12 分钟。

集合接口与泛型

  1. 定义: 集合接口会操作一系列相同属性数据的对象类型的数据结构,类似于数组,但是相对于数组来说更显得高端大气
  2. 集合的接口分为Collention和Map两大类,不直接操作,而是通过子类的实现来操作

  3. 常用的集合有
  • Collection->List里面的ArrayList
  • Collection->Set里面的HashSet
  • Map(以键值对的形式)里面的HashMap
  1. Set和List的区别
Set 接口实例存储的是无序的,不重复的数据。List 接口实例存储的是有序的,可以重复的元素。

遍历数据

  1. 遍历 ArrayList
//申明数据类型是String对象类型的集合List
list = new List
()//向集合里面添加数据list.add("hello")list.add("world")1. //第一种方式:通过foreatchfor (String str : list) { //也可以改写for(int i=0;i
ite=list.iterator(); while(ite.hasNext())//判断下一个元素之后有值 { System.out.println(ite.next()); }
  1. 遍历Map
import java.util.*; public class Test{     public static void main(String[] args) {      Map
map = new HashMap
(); map.put("1", "value1"); map.put("2", "value2"); map.put("3", "value3"); //第一种:普遍使用,二次取值 System.out.println("通过Map.keySet遍历key和value:"); for (String key : map.keySet()) { System.out.println("key= "+ key + " and value= " + map.get(key)); } //第二种 System.out.println("通过Map.entrySet使用iterator遍历key和value:"); Iterator
> it = map.entrySet().iterator(); while (it.hasNext()) { Map.Entry
entry = it.next(); System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue()); } //第三种:推荐,尤其是容量大时 System.out.println("通过Map.entrySet遍历key和value"); for (Map.Entry
entry : map.entrySet()) { System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue()); } //第四种 System.out.println("通过Map.values()遍历所有的value,但不能遍历key"); for (String v : map.values()) { System.out.println("value= " + v); } }}

泛型

  1. 定义:所谓泛型值得就是函数得参数得数据类型可以是任何得数据类型,不会因为参数类型的不同导致程序崩溃
// 泛型方法 printArray           //E类泛型               public static < E > void printArray( E[] inputArray )   {      // 输出数组元素                     for ( E element : inputArray ){                    System.out.printf( "%s ", element );         }         System.out.println();    }使用:       // 创建不同类型数组: Integer, Double 和 Character        Integer[] intArray = { 1, 2, 3, 4, 5 };        Double[] doubleArray = { 1.1, 2.2, 3.3, 4.4 };        Character[] charArray = { 'H', 'E', 'L', 'L', 'O' };              System.out.println( "整型数组元素为:" );        printArray( intArray  ); // 传递一个整型数组         System.out.println( "\n双精度型数组元素为:" );        printArray( doubleArray ); // 传递一个双精度型数组         System.out.println( "\n字符型数组元素为:" );        printArray( charArray ); // 传递一个字符型数组
  1. 有界得类型参数
public static 
> T maximum(T x, T y, T z){ //extends 后面接上上线}
  1. 泛型类,类后加上参数类型
public class Box
{ private T t; public void add(T t) { this.t = t; } public T get() { return t; } public static void main(String[] args) { Box
integerBox = new Box
(); Box
stringBox = new Box
(); integerBox.add(new Integer(10)); stringBox.add(new String("菜鸟教程")); System.out.printf("整型值为 :%d\n\n", integerBox.get()); System.out.printf("字符串为 :%s\n", stringBox.get()); }}
  1. 泛型通配符?
public class GenericTest {        public static void main(String[] args) {        List
name = new ArrayList
(); List
age = new ArrayList
(); List
number = new ArrayList
(); name.add("icon"); age.add(18); number.add(314); getData(name); getData(age); getData(number); } //List
代表List
,List
data) { System.out.println("data :" + data.get(0)); }}

转载于:https://www.cnblogs.com/allenxieyusheng/p/9018676.html

你可能感兴趣的文章
MVC学习系列——Model验证扩展
查看>>
mysqladmin 修改和 初始化密码
查看>>
字符串
查看>>
vue2.x directive - 限制input只能输入正整数
查看>>
实现MyLinkedList类深入理解LinkedList
查看>>
自定义返回模型
查看>>
C#.NET 大型通用信息化系统集成快速开发平台 4.1 版本 - 客户端多网络支持
查看>>
HDU 4122
查看>>
Suite3.4.7和Keil u3自带fx2.h、fx2regs.h文件的异同
查看>>
打飞机游戏【来源于Crossin的编程教室 http://chuansong.me/account/crossincode 】
查看>>
[LeetCode] Merge Intervals
查看>>
【翻译自mos文章】当点击完 finishbutton后,dbca 或者dbua hang住
查看>>
Linux编程简介——gcc
查看>>
2019年春季学期第四周作业
查看>>
MVC4.0 利用IActionFilter实现简单的后台操作日志功能
查看>>
rotate the clock
查看>>
bugku 变量
查看>>
Python 环境傻瓜式搭建 :Anaconda概述
查看>>
数据库01 /Mysql初识以及基本命令操作
查看>>
数据库02 /MySQL基础数据类型以及多表之间建立联系
查看>>