链表模式

原创 2013年12月04日 09:50:24

定义一个接口

public interface Filter {
	public String doFilter(String smg);
}

 

继承接口的处理方法

public class CrudFilter implements Filter {
	String message;
	@Override
	public String doFilter(String smg) {
		// TODO Auto-generated method stub
		this.message = smg.replace("脏话", "*");
		return message;
	}
}

 

public class FaceFilter implements Filter {
	String message;
	@Override
	public String doFilter(String smg) {
		// TODO Auto-generated method stub
		this.message = smg.replace(":)", "笑脸");
		return message;
	}
}

 

 

public class HarmoniousFilter implements Filter {
	String message;
	@Override
	public String doFilter(String smg) {
		return smg.replace("不和谐", "和谐");
	}
}

 

处理方式一:

 

public class TestMain {
	public static void main(String[] args) {
		String result;
		String msg = ":),脏话   不和谐   关键字";
		FaceFilter faceFilter = new FaceFilter();
		CrudFilter crudFilter = new CrudFilter();
		HarmoniousFilter harmonious = new HarmoniousFilter();
		msg = faceFilter.doFilter(msg);
		msg = crudFilter.doFilter(msg);
		msg = harmonious.doFilter(msg);
		System.out.println(msg);
	}
}

 

处理方式二:public class ArrayTest {

	public static void main(String[] args) {
		Filter[] arrayFilters ={new CrudFilter(),new FaceFilter(),new HarmoniousFilter()};
		String result;
		String msg = ":),脏话   不和谐   关键字";
		for(int i = 0; i < arrayFilters.length; i++)
		{
			msg = arrayFilters[i].doFilter(msg);
		}
		System.out.println(msg);
	}
}

 

C 语言设计模式(三) 双链表

在C 语言中双链表的实现,已经有很多经典的实现,下面的代码,从 android 中摘取,事实上这段代码可能 google 的人最初从linux 的代码中学得,其实设置到了极限,都达到了设计的完美,那么...
  • free2o
  • free2o
  • 2013年05月05日 17:14
  • 805

仿ArrayList和LinkedList,讲解迭代模式和链表结构

第一部分:仿ArrayList

构建生产者与消费者的单链表模式

1、在linux环境下实现一个单链表 代码:#include #include #include #include typedef struct _node{ int d...

第十四讲 适配器模式、内部类、递归算法、数据结构之链表、包装类、Eclipse开发环境设置

导读 适配器模式,也是Java二十三中设计模式之一。让其他的对象可以适应规范,其实这样说是不是觉得很迷糊啊? 我们把适配器模式当做我们家电用的插座,对,就是这样来想就很容易学习和应用了。 内...

【CDP-云设计模式】第8章,1.队列链表模式(Queuing Chain Pattern)

要解决的问题:如果对运行在多个系统上的相关进程(例如,在图像处理过程中,上传、存储、图像转码、创建缩略图等等顺序操作)执行顺序处理,往往会因为系统间联系过于紧密而造成性能瓶颈。当出现故障时,这种紧密的...
  • QXK2001
  • QXK2001
  • 2016年09月16日 22:16
  • 566

设计模式之--迭代器模式(自定义迭代器与STL::find()配合查找链表元素)

以前看了好多STL的源码,总以为自己对STL的迭代器理解够深刻了,今天试着写了一下,因为刚开始没有重载operator==一直编译不过,唉,代码还是敲过一遍好,并不是眼睛看多了自己真的就熟悉了。 ...

fishGUI:迭代器模式一------单链表和双链表的设计

问题: 屏幕类和窗口类都能容纳其他的对象,因此在面向对象设计阶段为它们设计了一个公共的基类---容器类。这样如果要实现保存多个对象的机制可以在容器类中直接使用双向链表,代码的复用性就大幅提高了。但是...

单链表的增删排序求长度的实现。

对于链表,我们可以知道他和算法会有相关。我们至少通过两组结构来存储:数组和链表。 接下来,我们来进行单链表的实现 在这里,我们可以进行增加,删除,求长度,排序。#define _CRT_SECUR...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:链表模式
举报原因:
原因补充:

(最多只允许输入30个字)