A function that maps all Integers to Natural Numbers is a bijection? Why is $f:\mathbb{Z}\rightarrow\mathbb{N}$ a bijection? 
I understand that if 
$f(x) = $
$1,$ if $x = 0$
$2x,$ if $x>0$
$-2x+1,$ if $x<0$
By proving surjectivity and injectivity of the function we get that the function is bijective.
But I don't understand it intuitively; shouldn't there be "twice" (twice and 1 more counting 0) elements in $\mathbb{Z}$ than in $\mathbb{N}$?
So since $\mathbb{Z}$ has different cardinality than $\mathbb{N}$, shouldn't it not be injective?
 A: When you say there are "twice as many" integers as natural numbers, you are presumably thinking of the map $g:\mathbb{Z} \to \mathbb{N}$ given by $g(n) = |n|$. This is a $2$-to-$1$ map (except when $n=0$). But you also have a $1$-to-$1$ map given by $f$ in your question. So does that mean $\mathbb{Z}$ has twice as many elements or the same number of elements as $\mathbb{N}$? It's not possible to have a $1$-to-$1$ map and a $2$-to-$1$ map between finite sets, but as we see that breaks down for infinite sets. 
Hilbert's paradox illustrates this well. Imagine an infinite hotel with rooms labeled $1$, $2$, $3$, $...$, and suppose all the rooms are occupied by guests. Can this hotel accommodate an additional guest? Yes: simply shift all the guests to the next-highest-labeled room, and put the new guest in room $1$. We can even accommodate finitely many new guests: if $n$ new guests arrive, move all the existing guests up by $n$ rooms, and put the $n$ new guests in rooms $1,2,\dots,n$. What if a bus carrying a countably infinite number of guests arrives? Well, we can move the guest currently in room $n$ to room $2n$ for every $n$, and then all of the odd rooms will be opened up to accommodate the new guests. The hotel can even accommodate a countably infinite line of buses each carrying a countably infinite number of guests (I'll leave you to read about the proof of this).
As you can see, infinite sets don't behave like finite sets. If a finite hotel is full, it's full, end of story. So mathematicians need a way to make sense of what it means for infinite sets to have the same "size," and the notion that they have landed on is: the cardinality of $X$ equals the cardinality of $Y$ if there exists a bijection $X \to Y$. Not every function from $X$ to $Y$ has to be a bijection, but as long as one exists then we say $X$ and $Y$ have the same cardinality. Notice that for finite sets, if there exists a bijection $X \to Y$, then $X$ and $Y$ have the same number of elements, so this coincides with our notion of size in the finite case.
You might say that you disagree with this definition. After all, if there is a $2$-to-$1$ map $X \to Y$ between finite sets, then we know $X$ has twice as many elements as $Y$. So why don't we say the same for infinite sets? Well the map $h:\mathbb{N}\to \mathbb{N}$ given by $h(n) = \lfloor n/2 \rfloor$ is a $2$-to-$1$ map, so we would have to say $\mathbb{N}$ has twice as many elements as itself, which doesn't make sense (finite sets always have the same size as themselves). Another nice property of the definition of cardinality is that it is transitive: if there is a bijection $X \to Y$ and a bijection $Y \to Z$, then there is a bijection $X \to Z$. That is, if $X$ and $Y$ have the same cardinality, and $Y$ and $Z$ have the same cardinality, then $X$ and $Z$ have the same cardinality. This again coincides with what we know to be true for finite sets. 
A: If that was correct, then there should be twice as many natural numbers as even natural numbers. However, the map $f$ from the natural numbers into the even natural numbers defined by $f(n)=2n$ is a bijection, right?
What happens here is that you are trying to apply to infinite sets your intuition about finite sets.
A: $\mathbb{Z}$ doesn't have different cardinality - as we can find a bijection $\mathbb Z \leftrightarrow \mathbb N$, they have the same cardinality by definition.
It's quite standard problem with intuition and infinite sets. Yes, infinite set can have the same "number of elements" as it's proper subset.
A: “$f: \mathbb{N} \to \mathbb{Z}$” isn’t a bijection. What you’ve written just means ‘f is a function mapping natural numbers to integers’, but you haven’t specified what that function actually is.
The function that you define after that though is indeed a bijection. This shows, by definition, that the cardinality of these two sets is the same. Your intuition about infinite sets is mistaken however.
Remember, infinity is a concept that you have to be very careful with.
