What are some practical applications of XOR in algorithms
To be honest I am rusty in bit operations.  
What I am interested in is the `XOR` operation. Well, I know what it does bitwise, and that it is used in encryption and that we can do swapping without any temporary variable, but I was interested if there are specific approaches in algorithms that `XOR`'s properties fit.  
I mean I am interested in practical applications of `XOR` in algorithms (e.g. we could use it to finding unique element among duplicates). Is there a pattern of problems (or a formulation of a problem) that one could see that the use of `XOR` is the way to go? (Same way as there is a pattern when to use binary search?)   
Is there some list of practical applications of `XOR` on algorithms that is related to the core algorithm, not simply use it e.g. to do math operations faster like we can use `>>` instead of divide by 2.  

Any input is welcome   

PS.  
I am also tagging `Java` because if someone wants to put an example code it would be the most prefered language
What are some practical applications of XOR in algorithms
===

To be honest I am rusty in bit operations.  
What I am interested in is the `XOR` operation. Well, I know what it does bitwise, and that it is used in encryption and that we can do swapping without any temporary variable, but I was interested if there are specific approaches in algorithms that `XOR`'s properties fit.  
I mean I am interested in practical applications of `XOR` in algorithms (e.g. we could use it to finding unique element among duplicates). Is there a pattern of problems (or a formulation of a problem) that one could see that the use of `XOR` is the way to go? (Same way as there is a pattern when to use binary search?)   
Is there some list of practical applications of `XOR` on algorithms that is related to the core algorithm, not simply use it e.g. to do math operations faster like we can use `>>` instead of divide by 2.  

Any input is welcome   

PS.  
I am also tagging `Java` because if someone wants to put an example code it would be the most prefered language