In this chapter, we discussed the wide range of operators available in Reactor. We started by looking at simple operators for selecting and rejecting data. We then looked at operators for converting data to other types. The converted data element does not need to be one-to-one mapped. There can be more than one element for each processed value. Next, we looked at operators that accumulate data. By the end of the chapter, we had covered aggregation and conditional tests for data. In a nutshell, we have covered the complete range of operators available in Reactor. In the next chapter we will look at the processors, which provide the necessary glue to bind Reactor components.