双11狂欢大促

盲盒赢 定制羽绒服

开启惊喜盲盒,抽取你的专属好礼

— 惊喜奖品抢先看 —

23种设计模式---(适配器模式)

a284065570 a284065570 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
我们先看客户端需求
public class testclient {
public static void main(String[] args) {
// TODO Auto-generated method stub

Map map;
application.excute(map);//要求输出map数据
System.out.print(b);
}
}
//map数据类型输出程序
package com.moshi.adapter;
import java.util.HashMap;

public class application {
public void excute(HashMap map){
for(int i=0;i<map.size();i++){
System.out.println(map.get(i+""));
}
}
}
这都定义好了 但我们只实现了返回List数据类型的类
实例代码如下--------------------------------------------------------------
package com.moshi.adapter;
import java.util.ArrayList;
import java.util.List;
public class listserver {
public List getList(){
List list=new ArrayList();
list.add("张三");
list.add("李四");
list.add("王五");
return list;
}
}

所以这里要定义一个list的适配器类 完成数据类型的匹配。。。
适配器类代码如下:
package com.moshi.adapter;
import java.util.HashMap;
import java.util.List;

public class listadapter extends HashMap{
private List list;
public listadapter(List listserver){
this.list=listserver;
}
public int size(){
return list.size();
}
public Object get(Object i){
return list.get(Integer.valueOf(i.toString()).intValue());
}
}
这个就是适配器的作用。。
然后再在客户端输出
package com.moshi.adapter;

import java.util.List;
import java.util.Scanner;
public class testclient {
public static void main(String[] args) {
application application=new application();
listserver listserver=new listserver();
List list=listserver.getList();
Map listadapter=new listadapter(list);//list->map的适配器
application.excute(listadapter);//输出map型的数据
Scanner scanner=new Scanner(System.in);
double b=scanner.nextDouble();
System.out.print(b);
}

}
额 这里适配器模式讲解完毕 。。。有问题可以提 并回复!
...全文
评论 3
收藏 已收藏
分享
返回顶部
a284065570
Web 开发 81,108 成员 341,721 内容