.Net学习笔记----2015-06-25(泛型集合的练习)

1:将一个数组中的奇数放到一个集合中,再将偶数放到另一个集合中,最终将两个集合合并为一个集合,并且奇数显示在左边,偶数显示在右边。

思路:

(1)判断数组中元素的奇偶,分别赋值到2个集合中

(2)声明第三个集合,分别传入奇偶2个集合||直接用其中一个集合添加另外一个集合

疑问:如何输出成:“奇数:1,3,5,7 | 偶数:2,4,6,8”?

            int[] nums = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
            List<int> jiShu = new List<int>();
            List<int> ouShu = new List<int>();
            //List<int> all = new List<int>();
            for (int i = 0; i < nums.Length - 1; i++)
            {
                if (nums[i] % 2 != 0)//奇数
                {
                    jiShu.Add(nums[i]);
                }
                else//偶数
                {
                    ouShu.Add(nums[i]);
                }
            }
            jiShu.AddRange(ouShu);
            foreach (var item in jiShu)
            {
                Console.Write(item + " ");
            }
            Console.ReadKey();

2:提示用户输入一个字符串,通过foreach循环将用户输入的字符串赋值给一个字符数组

思路:

直接用一个字符串接收用户输入的内容,然后再将字符串中的每一个元素通过foreach赋值给字符数组

            Console.WriteLine("请随便输入");
            string str = Console.ReadLine();
            char[] chs = new char[str.Length];
            int i = 0;
            foreach (var item in str)
            {
                chs[i] = item;
                i++;
            }
            foreach (var item in chs)
            {
                Console.Write(item + " ");
            }
            Console.ReadKey();

3:统计Welcome to china 中每个字符出现的次数,不考虑大小写

思路:

字符--->出现的次数

键----->值

把字符串中每个字符做为键放到键值对集合的键里,把每个字符出现的次数做为值放到键值对的值里

            string str = "Welcome to China";

            Dictionary<char, int> dic = new Dictionary<char, int>();
            for (int i = 0; i < str.Length; i++)
            {
                if(str[i] == ‘ ‘)
                {
                    continue;
                }
                //如果dic已经包含了当前循环到的这个键,那么这个键所对应的值+1
                if(dic.ContainsKey(str[i]))
                {
                    //值+1
                    dic[str[i]]++;
                }
                else//这个字符在集合中是第一次出现
                {
                    dic[str[i]] = 1;
                }
            }

            foreach (KeyValuePair<char,int> kv in dic)
            {
                Console.WriteLine("字母{0}出现了{1}次", kv.Key, kv.Value);
            }
            Console.ReadKey();
时间: 2025-01-17 23:37:42

.Net学习笔记----2015-06-25(泛型集合的练习)的相关文章

【Ext.Net学习笔记】06:Ext.Net GridPanel的用法(GridPanel 折叠/展开行、GridPanel Selection、 可编辑的GridPanel)

GridPanel 折叠/展开行 Ext.Net GridPanel的行支持折叠/展开功能,这个功能个人觉得还说很有用处的,尤其是数据中包含图片等内容的时候. 下面来看看效果: 使用行折叠/展开功能之后,在Ext.Net GridPanel的行头会出现一个展开图标,点击图标以后能够将这一行展开: 使用XTemplate实现行折叠/展开 这是最简单的一种实现,在上一篇文章:[Ext.Net学习笔记]05:Ext.Net GridPanel的用法(包含Filter.Sorter.Grouping.汇

非计算机专业的码农C#学习笔记 五、数组和集合

数组和集合 1.数组问题Array (1)一维数组:int[] arr={1,2,3,5,5} string[] s={s,l,s,g} (2)二维数组:int[,] arr=new int[2,2]{{1,2},{3,4}} 类型[,] 数组名=new 类型[行数(元素数),列数(元素的子元素数]{{元素1,元素2},{元素…},…,} l  动态数组:类型[,] 数组名=new 类型[M,N],int M=””;int N=””; l  查看内部元素:foreach(int n in arr

Duilib学习笔记《06》— 窗体基类WindowImpBase

在前面的例子中我们发现,窗口都是继承CWindowWnd.INotifyUI,然后重载相关函数去实现.显然,我们发现窗口的创建流程实际上都是差不多的,主要只是在OnCreate加载的配置文件不同等等…所以,能不能创建一个公有的窗体基类呢?其实,在duilib中已经提供了一个窗体基类 WindowImplBase:在基类内搭建窗口的消息框架,各处理函数为虚函数,子类可以重载处理函数,实现其处理. 此处我们以修改之前的代码为例来进行说明. 1. 窗体显示 CMainWndDlg类修改为继承Windo

JAVA学习笔记(五十六)- 泛型 Generic Types

泛型 Generic Types import java.util.ArrayList; import java.util.List; /* * 泛型 Generic Types * 集合泛型 * 类泛型 * 方法泛型 */ public class Test01 { public static void main(String[] args) { // 1.集合泛型,保证集合中元素的类型安全 List<Integer> nums = new ArrayList<Integer>(

【知了堂学习笔记】java中常用集合的理解

最近学习了java中常用集合类的一些知识,在这里作为一只小白,我来谈谈我的理解,顺带总结知识点. 引入:在没有接触之前,听到集合,给我感觉是想到了数学中的集合一样,里面存放着一个一个的元素.其实不然,这个集合也就差不多,是用来存放元素的容器. Java中的集合类包含的内容很多而且很重要,很多数据的存储和处理(排序,去重,筛选等)都需要通过集合类来完成. 今天我要谈的主要是,如下图所示: 1.Collection Collection是最基本的集合类型,若要检查Collection中的元素,可以使

python学习笔记(三):文件操作和集合

这篇博客来说一下python对文件的操作. 对文件的操作分三步: 1.打开文件获取文件的句柄,句柄就理解为这个文件 2.通过文件句柄操作文件 3.关闭文件. 现有以下文件file.txt: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 寂寞当然有一点 你不在我身边 总是特别想念你的脸 距离是一份考卷 测量

python学习笔记4:基础(集合,collection系列,深浅拷贝)

转载至:http://www.cnblogs.com/liu-yao/p/5146505.html 一.集合 1.集合(set): 把不同的元素组成一起形成集合,是python基本的数据类型.集合元素(set elements):组成集合的成员 python的set和其他语言类似, 是一个无序不重复元素集, 基本功能包括关系测试和消除重复元素. 集合对象还支持union(联合), intersection(交), difference(差)和sysmmetric difference(对称差集)

Java基础学习笔记【08】泛型限定、泛型操作

继承实现接口的方法的时候,要是泛型接口直接指定类型就无须后面的强制转换,this直接就代表该类型,参数也就是该类型 设置泛型对象的上限使用extends,表示参数类型只能是该类型或该类型的子类(? <= Number   ): 1 public static void up(List<? extends Number> l){ //方法的具体实现 } 设置泛型对象的下限使用super,表示参数类型只能是该类型或该类型的父类( ? >= Number): 1 public stati

Swift学习笔记(5):集合类型

目录: 数组:Array 集合:Set 字典:Dictionary Swift提供Array(有序集合数据).Set(无序无重复集合)和Dictionary(无序键值对集合)三种基本集合类型来存储明确数据类型的集合数据. 使用var将集合声明为变量,可以在创建之后添加.移除.修改集合内数据项.如果使用let将集合声明为常量,则它的大小和内容就都不可改变. 数组:Array 初始化和赋值: var someInts = [Int]() // 创建指定数据类型的空数组 someInts = [] /

java学习笔记(Core Java) 9 泛型

集合接口一.引言:接口与实现分离,使用队列举例//提供接口规范interface Queue{...}//具体实现class LinkedListQueue<E> impements Queue<E> {...}class CircularArrayQueue<E> impements Queue<E> {...} Queue<Customer> e = new LinkedListQueue<Customer> 二.迭代器1.集合类