1.定义一个方法listTest(ArrayList al, Integer s),要求返回s在al里面第一次出现的索引,如果s没出现过返回-1。
import java.util.ArrayList;
import java.util.List;
public class ListTestDemo {
public static void main(String[] args) {
List<Integer> list = new ArrayList<Integer>();
list.add(7);
list.add(4);
list.add(2);
list.add(1);
list.add(5);
list.add(2);
System.out.println(ListTest(list, 2));
System.out.println(list.indexOf(7));
}
public static int ListTest(List<Integer> al, Integer s) {
for(int i = 0; i < al.size(); i++) {
if(al.get(i).equals(s)) {//此时集合中和s都是引用数据类型。判断是否相等采用的是equals方法
return i;
}
}
return -1;
}
}
2.现在有一个map集合如下:
Map map = new HashMap();
map.put(1, "张三丰");
map.put(2, "周芷若");
map.put(3, "汪峰");
map.put(4, "灭绝师太");
要求:
1.遍历集合,并将序号与对应人名打印。
2.向该map集合中插入一个编码为5姓名为李晓红的信息
3.移除该map中的编号为1的信息
4.将map集合中编号为2的姓名信息修改为"周林"
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
public class MapStudy {
public static void main(String[] args) {
Map<Integer, String> map = new HashMap<Integer, String>();
map.put(1,"张三丰");
map.put(2,"周芷若");
map.put(3,"汪峰");
map.put(4,"灭绝师太");
//新增
map.put(5, "李晓红");
//删除
map.remove(1);
//修改(覆盖)
map.put(2, "周林");
//遍历
Set<Integer> set = map.keySet();
Iterator<Integer> it = set.iterator();
while(it.hasNext()) {
Integer key = it.next();
System.out.println("序号为:" + key + ",姓名为:" + map.get(key));
}
}
}
3.有2个数组,第一个数组内容为:[黑龙江省,浙江省,江西省,广东省,福建省],第二个数组为:[哈尔滨,杭州,南昌,广州,福州],将第一个数组元素作为key,第二个数组元素作为value存储到Map集合中。如{黑龙江省=哈尔滨, 浙江省=杭州, …}。
import java.util.HashMap;
import java.util.Map;
public class MapStudy {
public static void main(String[] args) {
String[] province = {"黑龙江省","浙江省","江西省","广东省","福建省"};
String[] city = {"哈尔滨","杭州","南昌","广州","福州"};
Map<String,String> map = new HashMap<String,String>();
for(int i = 0; i < province.length; i++) {
map.put(province[i], city[i]);
}
System.out.println(map);
}
}
4.在设计LOL的时候,进攻类英雄有两种,一种是进行物理系攻击,一种是进行魔法系攻击 这时候,就可以使用接口来实现这个效果。 接口就像是一种约定,我们约定某些英雄是物理系英雄,那么他们就一定能够进行物理攻击
1.设计物理攻击接口
2.设计一类英雄,能够使用物理攻击
3.魔法攻击接口
4.设计一类英雄,只能使用魔法攻击
5.设计一类英雄,既能进行物理攻击,又能进行魔法攻击
6.设计辅助英雄接口
/**
* 英雄基类
* @author 一教室
*
*/
public class Hero {
public String name;
public int hp;//生命值
public int mp;//魔法值
public double speed;//移动速度
public int defense;//防御值
public int attackPower;//攻击力
public Hero(String name, int hp, int mp, double speed, int defense, int attackPower) {
super();
this.name = name;
this.hp = hp;
this.mp = mp;
this.speed = speed;
this.defense = defense;
this.attackPower = attackPower;
}
public Hero() {
super();
}
}
/**
* 物理系攻击接口
* @author 一教室
*
*/
public interface AD {
//物理伤害方法
public void physicalAttack();
}
/**
* 物理系英雄
* @author 一教室
*
*/
public class ADHero extends Hero implements AD {
@Override
public void physicalAttack() {
System.out.println("正在使用物理攻击");
}
}
/**
* 魔法系攻击接口
* @author 一教室
*
*/
public interface AP {
/**
* 魔法攻击方法
*/
public void magicAttack();
}
public class APHero extends Hero implements AP {
@Override
public void magicAttack() {
System.out.println("正在进行魔法攻击");
}
}
public class ADAPHero extends Hero implements AD, AP{
@Override
public void magicAttack() {
System.out.println("又进行魔法攻击");
}
@Override
public void physicalAttack() {
System.out.println("又进行物理攻击");
}
}
/**
* 辅助英雄接口
* @author 一教室
*
*/
public interface SUP {
public void support();
}