java进阶--week3-3.2&&3.4--对象数组&&哈希表
来源:互联网 发布:关闭miui优化有影响吗 编辑:程序博客网 时间:2024/06/05 20:07
------------------------------------------对象数组------------------------------------------------
import java.util.ArrayList;//范型类
class Value {private int i;
public void set(int i){ this.i = i;}
public int get(){ return i;}
}
public class NoteBook {
private ArrayList <String> notes = new ArrayList <String>();//用来存放String的ArrayList
public void add(String s){//添加字符串
notes.add(s);
}
public void add(String s,int location ){//把String放在location的前面
notes.add(location,s );//注意两个add的不同,类似C的字符串处理函数
}
public int getSize(){//字符串大小
return notes.size();
}
public String getString(int index){//根据编号返回字符串,注意String的S要大写,不同int
return notes.get(index);//get方法在ArrayList中
}
public void removeNote(int index){//是否移动成功
notes.remove(index);
}
// public String[] list(){//返回数组里所有的东西
// String[] a= new String[notes.size()];
// for (int i=0; i<notes.size(); i++ ){//这段for循环可用ArrayList类库中的toArray代替
// a[i] = notes.get(i);
// }
// return a;
// }
public String[] list(){
int[]ia = new int[10];
String[] a = new String[notes.size()];
notes.toArray(a);
return a;
}
public static void main(String[] args) {
Value[] a = new Value[10];
for(int i=0; i<a.length; i++){
a[i] = new Value();
// 这句是什么意思??--新建一个Value类的对象,存到数组的每一个元素中,
// 在创建后,基本数据类型数组可以直接对数组元素赋值、引用等操作;
// 而自定义对象数组,需要对数组中的每个对象元素独立进行创建,然后才可以对其赋值、引用等操作,
// 如果没有单独对每个对象元素创建,会导致空指针异常
a[i].set(i);//然后设置为i
}
for( Value v:a ){
System.out.println(v.get());
v.set(0);
}
for( Value v:a ){
System.out.println(v.get());
}
// NoteBook nb = new NoteBook();
// nb.add("frist");
// nb.add("second");
// nb.add("thrid",0);
// System.out.println(nb.getString(1));
// System.out.println(nb.getString(0));
// nb.removeNote(1);
// String[] a = nb.list();//获得字符数组
// for(String s : a){//上下两个s对应
// System.out.println(s);
// }
//
}
}
-----------------------哈希表-----------------------
功能:输入数字,输出代表的钱币的面值
package coins;
import java.util.HashMap;
import java.util.Scanner;
public class Coins {
private HashMap<Integer,String> coinNames = new HashMap<Integer,String>();
public Coins(){
coinNames.put(1,"penny");
coinNames.put(10,"dime");
coinNames.put(25,"quarter");
coinNames.put(50,"half-dollar");
coinNames.put(50,"五毛" );//重复放进一个键,则覆盖(唯一对应)
for(Integer x : coinNames.keySet()){
String s = coinNames.get(x);//注意不同一般的for-each,hash表有key和value,x是key,s是value
System.out.println(s);
}
}
public String getName(int amount){
if( coinNames.containsKey(amount) )//Hash类库中返回boolean值的方法
return coinNames.get(amount);
else
return "NOT FOUND";
}
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int amount = in.nextInt();
Coins coin = new Coins();
String name = coin.getName(amount);
System.out.println(name);
}
}
- java进阶--week3-3.2&&3.4--对象数组&&哈希表
- java进阶week3-3.1
- 数组进阶对象数组
- C程序设计进阶week3
- Java面向对象进阶
- Java进阶--对象导论
- Week3
- week3
- week3
- week3
- week3
- java原创对象编程进阶
- Java进阶-类与对象
- 计算机科学和编程导论-week3-对象
- MOOC面向对象编程week3作业
- JAVA进阶学习-java对象和类
- Java进阶---数组与内存控制
- java创建对象数组
- ELK+Filebeat+Kafka+ZooKeeper 构建海量日志分析平台
- ajax中async true/false的作用
- scrapy框架爬虫将数据保存到MySQL数据库(20170214)
- 【Android】BottomSheetDialog详解
- 35. Search Insert Position
- java进阶--week3-3.2&&3.4--对象数组&&哈希表
- SpringBoot19 之环境变量读取和属性对象的绑定
- 前端培训班出身——吐槽下16年的艰辛
- 面试2
- JavaScript编写简易计算器
- Unittest单元测试框架总结
- vs2013密钥
- 求最大流问题
- 大数运算-Tsinsen.A1014进制转换5