The computation below (part 1) shows that if two finite groups of order at most $100$ have the same (ordered) list of conjugacy class sizes, then they also have the same (ordered) list of (irreducible) character degrees.
Question: Is it true in general?
If so, is there an explicit way to determine the character degrees from the conjugacy class sizes?
The converse is false, SmallGroup(64,42)
and SmallGroup(64,134))
are counterexamples. At order at most $100$, there are exactly four types of counter-examples, three ot order $64$, and one of order $96$, see the computation below (part 2).
Computation
gap> BL:=[]; for d in [1..100] do n:=NrSmallGroups(d);; for r in [1..n] do g:=SmallGroup(d,r);; if not IsAbelian(g) then SC:=CharacterDegrees(g);; CC:=ConjugacyClasses(g);; L:=List(CC,c->Size(c));; Sort(L); Add(BL,[SC,L]); fi; od; od;
Part 1
sage: LLL=[[] for i in range(100)]
....: for l in BL:
....: LLL[len(l[1])].append(l)
....: for ll in LLL:
....: S=[]
....: for l1 in ll:
....: if not l1[1] in S:
....: S.append(l1[1])
....: SS=[l1[0]]
....: for l2 in ll:
....: if l1[1]==l2[1]:
....: if l2[0] not in SS:
....: SS.append(l2[0])
....: if len(SS)>1:
....: print(l1[1]); print(SS)
sage:
Part 2
sage: LLL=[[] for i in range(100)]
....: for l in L:
....: LLL[len(l[1])].append(l)
....: for ll in LLL:
....: S=[]
....: for l1 in ll:
....: if not l1[0] in S:
....: S.append(l1[0])
....: SS=[l1[1]]
....: for l2 in ll:
....: if l1[0]==l2[0]:
....: if l2[1] not in SS:
....: SS.append(l2[1])
....: if len(SS)>1:
....: print(l1[0]); print(SS)
....:
[[1, 8], [2, 6], [4, 2]]
[[1, 1, 2, 2, 2, 2, 2, 4, 4, 4, 4, 4, 8, 8, 8, 8], [1, 1, 2, 2, 2, 4, 4, 4, 4, 4, 4, 4, 4, 8, 8, 8], [1, 1, 1, 1, 2, 2, 4, 4, 4, 4, 4, 4, 8, 8, 8, 8]]
[[1, 8], [2, 10], [4, 3]]
[[1, 1, 2, 2, 2, 2, 2, 2, 2, 4, 4, 4, 4, 4, 4, 4, 4, 12, 12, 12, 12], [1, 1, 2, 2, 2, 2, 2, 3, 3, 4, 4, 4, 4, 4, 6, 6, 6, 8, 8, 12, 12]]
[[1, 16], [2, 4], [4, 2]]
[[1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4], [1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4]]
[[1, 8], [2, 14]]
[[1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 8, 8, 8, 8], [1, 1, 1, 1, 1, 1, 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4]]
gap> S:=List([42,134],n->SmallGroup(64,n));;
gap> for g in S do Print(CharacterDegrees(g)); od;
[ [ 1, 8 ], [ 2, 6 ], [ 4, 2 ] ]
[ [ 1, 8 ], [ 2, 6 ], [ 4, 2 ] ]
gap> for g in S do L:=List(ConjugacyClasses(g),c->Size(c));; Sort(L);; Print(L); od;
[ 1, 1, 2, 2, 2, 2, 2, 4, 4, 4, 4, 4, 8, 8, 8, 8 ]
[ 1, 1, 2, 2, 2, 4, 4, 4, 4, 4, 4, 4, 4, 8, 8, 8 ]