首页 > 编程语言 >9、java类集

9、java类集

时间:2022-12-08 10:33:04浏览次数:34  
标签:Map java names System 接口 类集 println out


类集是java中极其重要的是一个特性

 

常用集合接口

1、  Collection接口,集合接口,用来存储一组对象,基于此接口又扩展了List(允许重复)、Set(不允许重复)等接口

2、  Map接口,键值对接口,用来存储键值对;Map.Entry接口,是Map接口中的内部接口,主要用于集合输出

3、  Iterator(迭代)接口,集合的输出接口,用来输出集合

 

 

基于List接口的集合类

1、  ArrayList(数组列表)

2、  LinkedList(链表列表)

操作如下

import java.util.List;
import java.util.ArrayList;

publicclass hello{
publicstaticvoid main(String args[])throws Exception{

//声明ArrayList对象,注意泛型
List<String> names =new ArrayList<String>();

//向List中添加对象
names.add("aa");
names.add("bb");
names.add("cc");
//输出对象
System.out.println(names);

//删除对象
names.remove("aa");
System.out.println(names);

//遍历List,并输出对象
for(int i=0; i<names.size(); i++){
System.out.println(names.get(i));
}

//使用for增强遍历list
for(String s : names){
System.out.print(s);
}
}
}

 

 

基于Set接口的集合类

1、  HashSet(散列存放)

2、  TreeSet(树型存放)

3、  SortedSet(排序集合)

Set集合的操作参考List

 

 

基于Map接口的集合类

1、  HashMap(散列存放)

2、  TreeMap(树型存放,可排序)

3、  SortedMap(排序Map,通过key进行排序)

a)        Map接口使用put新增数据,使用get获取数据

b)        Map的实例实际上是存储在Map.Entry对象中,所以要遍历Map对象需要通过entrySet()方法获取对象集合

import java.util.Map;
import java.util.HashMap;

publicclass hello{
publicstaticvoid main(String args[])throws Exception{

//声明HashMap类,HashTable是老的废弃了
Map<String, String> names =new HashMap<String, String>();

//向Map中新增键值对
names.put("101","ni");
names.put("102","hao");
names.put("103","ma");
System.out.println(names);

//查找键或值是否存在
if(names.containsKey("102")){System.out.println("contains key 102");}
if(names.containsValue("ma")){System.out.println("contains value ma");}

//遍历map集合
//map中的对象实际存储在Map.Entry对象中
//通过entrySet可以获取所有的Map.Entry对象
//map中的对象,通过getKey()/getValue()方法获取键、值
for(Map.Entry<String, String> item : names.entrySet()){
System.out.println(item.getKey()+"--->"+ item.getValue());
}


//使用增强for循环遍历key集合,并用get方法输出key对应的value
//获取key集合或者value集合用keySet()或values()方法
for(String key : names.keySet()){
System.out.println(key +" : "+ names.get(key));
}
for(String val : names.values()){
System.out.print(val +" ");
}
}
}

 

 

4、  Properties类,属性操作类,用于操作属性文件

a)        属性文件是.properties结尾的文件

b)        属性文件的内容为key=value键值对的方式存放

c)        Properties是HashTable的子类,HashTable是过期的类,新的使用HashMap

import java.util.Properties;
import java.io.File;
import java.io.FileOutputStream;
import java.io.FileInputStream;

publicclass hello{
publicstaticvoid main(String args[])throws Exception{

//声明属性对象
Properties ps =new Properties();
//向属性对象添加键值对
ps.put("name","tiny");
ps.put("age","29");
ps.put("sex","male");

//声明文件对象
File f =new File("C:"+ File.separator +"AAA\\person.properties");
//将属性对象以字节流的方式存储到f文件中
ps.store(new FileOutputStream(f),"personproperties");

Properties psRead =new Properties();
//将f文件的内容加载到psRead属性对象中
psRead.load(new FileInputStream(f));
System.out.println(psRead);

//通过key读取属性值
System.out.println("name="+ psRead.getProperty("name"));
}
}

 

 

 

 

标签:Map,java,names,System,接口,类集,println,out
From: https://blog.51cto.com/u_15906220/5920660

相关文章

  • 《悟透javascript》学习笔记:三、似类却不是类
    引言 JavaScript没有“类”的概念!这让很多学习过高级语言的人感到很不爽,其实比之于C语言又如何呢?显然JavaScript要比C语言好用很多。 不废话,上代码 <scriptlanguage="j......
  • 再读《悟透javascript》之三、甘露模型
    前言     甘露模型是用于开发基于javascript的类库的,通过它,我们可以以类似C#等面向对象的语言式的模式来开发javascript类库,这将使你的javascript代码变得清晰有条理......
  • Java流程控制(6)循环结构 while循环
             ......
  • 用Java敲出hello world
    用Java敲出HelloWorldProcess新建文件更改命名为Hello.java记住固定格式publicclassHello{ publicstaticvoidmain(String[]arges){ System.out.print('He......
  • Java线程中断机制
    在阅读AQS源码以及juc包很多基于AQS的应用源码过程中,会遇到很多interrupted相关的方法,这里复习一下java线程中断相关。要点:使用interrupt()中断一个线程,该方法只是标记中......
  • JavaWeb三大组件(Servlet、Filter、Listener)
    vue.runtime.esm.js:587[Vuewarn]:Errorincallbackforwatcher"form.psiType":"TypeError:Cannotreadpropertiesofundefined(reading'form')"——————......
  • JavaScript:代码细节和良好编码习惯
    这些细节,与语法无关,仅仅是编写代码时需要注意的最最基本的细节和一些良好编码习惯。注释代码注释代码分为单行注释和多行注释,如下所示:严格区分大小写JS的代码时严格区......
  • JavaScript:严格模式"use strict"
    因为历史遗留问题,JS其实存在很多feature,以及兼容性问题;所以JS在ES5之后,新增了一个严格模式,以区别于普通模式,用来激活新的特性,使得某些代码的执行准确无误;如何开启严格模......
  • JavaSE复习day3
    JavaSE复习day3胡家伟10.匿名对象&高内聚低耦合匿名对象概念匿名对象就是没有名字的对象,创建对象时,只在堆内存中开辟空间,不会在栈内存中开辟空间存储堆内存空间的地址......
  • Java链式调用实现(以javaBean为例)
    定义一个javaBeanpublicclassUser{publicStringname;publicStringage;publicUser(Stringname,Stringage){this.name=name;......