步步为营-11-List<T>泛型的简单练习

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace 集合简单练习
{
    class Program
    {
        static void Main(string[] args)
        {

        }

        private static void Test3()
        {
            //奇偶分拣,奇数在前偶数在后
            List<int> result = new List<int>() { 12, 564, 32, 87, 15, 35, 54, 798, 153, 54 };

            List<int> oddList = new List<int>();
            List<int> evenList = new List<int>();
            foreach (var item in result)
            {
                if (item % 2 == 0)
                {
                    evenList.Add(item);
                }
                else
                {
                    oddList.Add(item);
                }
            }
            oddList.AddRange(evenList);
            ShowList(oddList);
        }

        private static void Test2()
        {
            //随机生成10个1---100之间的数放入到list中.1:不能重复.2:都是偶数
            int count = 0;
            List<int> result = new List<int>();
            while (count < 10)
            {
                Random rom = new Random();
                int item = rom.Next(1, 101);
                if (!result.Contains(item) && item % 2 == 0)
                {
                    result.Add(item);
                    count++;
                }
            }
            ShowList(result);
            Console.ReadLine();
        }

        private static void Test1()
        {
            //把两个集合去掉重复后合并成一个集合号
            List<string> lista = new List<string> { "a", "b", "c", "d" };
            List<string> listb = new List<string> { "c", "d", "e", "f", "g" };
            foreach (string item in listb)
            {
                if (!lista.Contains(item))
                {
                    lista.Add(item);
                }
            }
            ShowList(lista);
            Console.ReadLine();
        }
        //展示集合
        private static void ShowList(List<int> lista)
        {
            foreach (var item in lista)
            {
                Console.WriteLine(item);
            }
            Console.ReadLine();
        }
        private static void ShowList(List<string> lista)
        {
            foreach (var item in lista)
            {
                Console.WriteLine(item);
            }
            Console.ReadLine();
        }
    }
}

ListTest

Dictionary的练习

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace DictoryTest
{
    class Program
    {
        static void Main(string[] args)
        {
            //统计单词出现次数
            string word = "hello,world.my name is DictoryTest";
            Dictionary<char, int> dt = new Dictionary<char, int>();
            foreach (var item in word)
            {
                if (!dt.Keys.Contains(item))
                {
                    dt.Add(item, 1);
                }
                else
                {
                    dt[item] = dt[item]+1;
                }
            }
            foreach (KeyValuePair<char, int> kv in dt)
            {
                Console.WriteLine(kv.Key +"一共出现了"+kv.Value+"次");
            }

            Console.Read();
        }
    }
}

时间: 2024-12-15 15:13:16

步步为营-11-List<T>泛型的简单练习的相关文章

11.C语言泛型的支持

1.C语言泛型实现 在前面我所编写的JWArray和JWList都是只能写定一种类型,那么为了在实际中使用方便,很自然想到类似C++中的泛型支持功能,C++中使用模板技术来实现泛型,但是在C中是不支持模板技术的,怎么来实现泛型呢? 如果你了解一点C++的模板技术的话,就知道其实这里的C++模板技术最简单的实现就是编译器对每一种类型都实现一次,然后调用的时候链接到不同类型的实现.那么既然这里C语言编译器本身不支持模板技术,那么我们就用手工来实现每一种类型的函数,然后在实际调用的时候直接链接到对应类

泛型的简单用法&lt;T&gt;

1 private void Form1_Load(object sender, EventArgs e) 2 { 3 Print<string>("here"); 4 Print<int>(1222); 5 6 GenericCollections<string> gcl = new GenericCollections<string>(); 7 gcl.Add("这是一个字符串的示例"); 8 DisplayRes

Java基础11:Java泛型详解

Java基础11:Java泛型详解 泛型概述 泛型在java中有很重要的地位,在面向对象编程及各种设计模式中有非常广泛的应用. 什么是泛型?为什么要使用泛型? 泛型,即"参数化类型".一提到参数,最熟悉的就是定义方法时有形参,然后调用此方法时传递实参.那么参数化类型怎么理解呢?顾名思义,就是将类型由原来的具体的类型参数化,类似于方法中的变量参数,此时类型也定义成参数形式(可以称之为类型形参),然后在使用/调用时传入具体的类型(类型实参). 泛型的本质是为了参数化类型(在不创建新的类型的

java 泛型的简单使用

effecttive java一直推荐使用泛型,简单的看了一下泛型的使用 package cn.com.fzk; import java.util.ArrayList; import java.util.List; public class Test1 { public static class InnerStaticGeneric<T> { T t; InnerStaticGeneric<T> instance = new InnerStaticGeneric<T>(

springmvc学习笔记(11)-springmvc注解开发之简单参数绑定

springmvc学习笔记(11)-springmvc注解开发之简单参数绑定 springmvc学习笔记11-springmvc注解开发之简单参数绑定 spring参数绑定过程 默认支持的类型 简单类型 pojo绑定 自定义参数绑定实现日期类型绑定 springmvc和struts2的区别 本文主要介绍注解开发的简单参数绑定,包括简单类型.简单pojo以及自定义绑定实现类型转换 spring参数绑定过程 从客户端请求key/value数据,经过参数绑定,将key/value数据绑定到contro

C++11多线程std::thread的简单使用

转自:http://blog.csdn.net/star530/article/details/24186783 在cocos2dx 2.0时代,我们使用的是pthread库,是一套用户级线程库,被广泛地使用在跨平台应用上.但在cocos2dx 3.0中并未发现有pthread的支持文件,原来c++11中已经拥有了一个更好用的用于线程操作的类std::thread.cocos2dx 3.0的版本默认是在vs2012版本,支持c++11的新特性,使用std::thread来创建线程简直方便. 下面

Java基础系列:(1)关于泛型的简单总结

一 为什么要引入泛型这个概念? 这里我用一个实例来简单说明.比如说:我们要设计一个表示二维坐标的类,但是因为关于坐标的表示有多种形式,比如: (1)整数表示:x=10    y=20 (2)浮点型表示:x=10.5    y=20.8 (3)字符串表示:x=""东经 50度""    y="北纬 79度" 因此,在我们设计的类中就不能单一的设置成int,float或String,而想要使用一个类型来接收这三种不同的数据类型,就只能使用Object

Cocos2dx 3.0 过渡篇(二十七)C++11多线程std::thread的简单使用(下)

本篇接上篇继续讲:上篇传送门:http://blog.csdn.net/star530/article/details/24186783 简单的东西我都说的几乎相同了,想挖点深的差点把自己给填进去. 以下实际演练一下.请同意我參考偶尔E往事的一篇线程的博客, 他用的是pThread.这里我就用std::thread. 1.售票孙鑫老师的C++和Java多线程售票也一直让我念念不忘(好吧,我承认我没看过).这里用cocos2d-x3.0和C++11的std::thread实现一个吧.总共同拥有10

泛型的简单理解

举个简单的例子: 对于集合类List,你知道可以往里add Object型的对象,也就是任何对象.但在未知环境里,你只允许往里add String型的对象,或者你需要在不转型的情况下直接往出拿里面的对象,那么就可以用泛型.代码如下: List list1 = new ArrayList(); // 此时可以list.add(object) list.add(string) 你可以放任意对象,但如果我只需要创建字符串型的集合,那么 List<String> list2 = new ArrayLi